© 2005 - 2012 Yohz Software, a division of Yohz Ventures Sdn Bhd
Products > SQL Verify > Overview
Overview Details Why RESTORE VERIFYONLY isn’t reliable Download Purchase Help file
You regularly back up your SQL Server databases, but do you worry if those backups can be restored?
You copy your backup files off-site, do you also worry if those copies can be restored, as file corruption may occur
during the transfer?
You have a server storing only valid backup files, but do you worry if those backups are still valid tomorrow, next week, or
next month, as your disks may experience IO failures over time?
You use RESTORE VERIFYONLY to quickly verify your backup files, but do you know how (un)reliable that verification
really is?
Backups are not enough!
Backups, while essential, are not the be all and end all of a disaster recovery plan. You need to ensure that you can restore from those
backup files. Nothing is worse than trying to restore from a backup set that is unrecoverable. At 2 a.m. in the morning!
RESTORE VERIFYONLY is rubbish!
SQL Server maintenance plans provide you the option to verify backup files, using the RESTORE VERIFYONLY command. Do
you know that there are instances where this verification can pass, but when it comes to restoring from those files, the restore
can fail and you get messages like this:
Server: Msg 3624, Level 20, State 1, Line 1
A system assertion check has failed. Check the SQL Server error log for details. Typically, an
assertion failure is caused by a software bug or data corruption. To check for database corruption,
consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini
dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service
Pack or in a QFE from Technical Support.
Location: restore.cpp:4440
Expression: FALSE
SPID: 51
Process ID: 316
Description: Invalid switch value
Connection Broken
Why does this happen? It has to do with the structure of a SQL Server backup file, and no, backup checksums are useless in these situations. We have a
test case you can use to prove to yourself that RESTORE VERIFYONLY isn’t reliable enough to bet your career on.
RESTORE DATABASE is a must!
Restoring from a backup set is really the only way to ensure that your backup files are recoverable. Compounding this issue is the fact
that every time you make a copy of your backup file, there is a risk that the file is incomplete or corrupted without any errors being raised
by the transferring application.
What if you copy your backup files off-site for redundancy? Does this mean that you need to restore from those backup files too to
ensure that the backup files are recoverable? What if you make multiple copies of your backup files? Do you need to restore from each
of those copies too?
Yes!
Every time you copy a file, or upload/download a file via FTP, there is a risk of undetected file corruption. It would then be very troublesome to
have to restore each and every backup file every time a copy is made. In addition, you will need to have SQL Server instances installed on
each and every machine that holds copies of the backup files.
File checksums to the rescue
Here is a what we’re suggesting. If you first generate a checksum of the backup file, and then successfully restore it, it stands to reason
that you can use the file checksum in the future to quickly ensure that any future copies of the backup files are consistent with the original
copy. Furthermore, you don’t need to maintain expensive SQL Server installations just to generate and compare checksums.
The solution, SQL Verify
That’s what we created SQL Verify for. It is an application designed to generate the file checksums for you, restore your
backup files, even run database consistency checks if you so require, copy your backup files to remote shares, upload them
to FTP servers, compare new file checksums against previously generated checksums, send e-mail and Windows message
alerts on errors, and much more. In short, it helps you ensure that your backup are usable, 24x7.
If you would like to see how SQL Verify can be used, here are some common scenarios that SQL Verify can be used in.
If you would like to learn more about SQL Verify, this page provides more details and includes actual screenshots from the application.
You can also download the help file, so that you can browse through our documentation without having to install anything. We have even posted the
help file on-line in HTML format, so just browse through that if you don’t want to download anything just yet.
Finally, if there is anything at all you would like to ask, please do contact us.
But it’s all hard work
You’ll need some sort of job scheduling system to periodically detect new backup files. The job will need to generate
checksums for those files. It’ll also need to be able to automatically restore from the backup files. On file servers, the
job will also need to be able to compute and compare checksums against known good values. The system will also
need to be able to alert you to inconsistencies and errors in any of the above processes.
Download a trial of SQL Verify now and experience
how it works to constantly ensure the reliability and
integrity of your SQL Server backup files.