How many runs of 11.0.1.2472 dbvalid.exe do I have to run, using which options, to perform the maximum amount of checking? I am guessing two runs...
Further guesswork: The first run validates everything except checksums, and the second run does that. |
FWIW, based on this question, I have made two comments on DCX (for SA 12 docs) w.r.t. dbvalid and the VALIDATE statements with backlinks to this question. And reading the VALIDATE statements docs I had two more questions (taken from my comment there):
(Sorry for including more questions instead of an answer but they seem to be all part of the same general question.) 1
VALIDATE DATABASE visits every page and performs some other sanity checks. By virtue of reading each page, checksums are verified. So, VALIDATE DATABASE is effectively a superset of VALIDATE CHECKSUM. FWIW, VALIDATE DATABASE does its work by hauling everything through the cache but VALIDATE CHECKSUM reads directly from the file. I'm not sure why -- not my code :) What does it mean to "check data correctness"? That could mean many different things. If checksums are enabled, VALIDATE DATABASE does verify that data hasn't changed while it was out on disk. It doesn't verify that the page wasn't 1
[I wish comments could be longer]...scribbled on prior to be written out last (in which case the checksum is computed after the corruption occurred). VALIDATE DATABASE also does not verify that the set of values indexed in each index matches the set of values in the base table. VALIDATE TABLE for each table accomplishes that last part. @John: Thanks again for taking the time to explore this issue - that answers my (and Breck's) questions. |
I agree that the docs are somewhat irritating on this topic...I would suggest to include the information whether the default comprises any of the options (and whether any option includes another one, if that is the case).
So it's not just me? <g>...