Based on that question, I would suggest that the validation of a database should check the signature string, too.
As John and Mark have explained in comments on this answer, some bytes in the first database page (the "signature") state whether the database file is valid or not.
Well, if the signature is invalid, validation of the database should give an error, too.
Nevertheless, the following statement running on my (not successfully upgraded) database (under 18.104.22.16856) returned no errors at all:
That just seems wrong.
Side effect: If it had given an error, the maintenance plan would not have overwritten a valid database backup.
I don't think I have ever said this Volker, but I disagree with you in this case. In order for you to call dbo.sa_validate(), you need to be running the database. That means that the signature was valid at the time you started the database. The only way the signature can subsequently become invalid is through a failed upgrade as stated in my answer in your other post. So, while I agree that the enhancement you suggest might be worthwhile in some small way, I think it is better to enhance the documentation to state clearly that a failed upgrade will lead to an invalid database file and hence a backup is absolutely essential prior to starting the upgrade process.
answered 29 Jun '11, 07:38