VERIFYONLY VS HEADERONLY WITH CHECKSUM

  • Hi guys, I thought I had posted this before but I didn't see the post. I currently am verifying backups with a headeronly WITH checksum so I can verify the integrity of the backups as well as the LSN chains (I have a script I've written that puts it in a table then compares the values of all the headers to make sure they are all in line).

    My question is, everywhere i see people are doing a verifyonly I don't see anyone doing headeronly. I wanted to make sure that verifyonly isn't somehow more robust than the headeronly with checksum. Anyone have any insight on this?

  • You did post this before - I remember reading it end of last week.

    MS continues to work on verifyonly to try to make it closer to what an actual restore would do since that's what most people use - outside of an actual restore which is the best way to verify). It's mentioned in the documentation:

    https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-verifyonly-transact-sql?view=sql-server-2017

    Sue

  • I do see that now that you mention it.. I tend to skim over quite a bit.. I wonder if they are just modifying how the checksum option works or if they are actually modifying verifyonly specifically.. I do like that my script verifies the LSNs in the header just in case a backup goes missing.. conflicted here..

  • Yeah But I think those are two different activities though - verify the lsns for missing backups vs verifying the backup.

    And the verifying is not limited to just the checksums.

    You can also get the lsns from the backupset table in msdb.

    Sue

  • Well the problem with using MSDB is it doesnt check what is actually on the file system, just what sql server knows it did.. so if somebody for some reason swiped a backup or if my automated backup job moved the file off server already sql server doesnt know that.. so my LSN check uses sql+powershell to check the file system then create a script based off what is there and input it into a table for verification. This + the checksum gives me the info that my backs are on the file system ready to be restored at a moments notice and also that they are MOSTLY good.. because checksum doesn't verify the structure.

    Which is part of the issue with the restore header only, because I execute the script using executesql which I can do with headeronly I can't do it with verify only.

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply