bslade
2010-06-21 21:33:40 UTC
On ASE 12.5.4 ESD#7, we've had an issue where dbcc checkstorage did
not find a corrupt text field page chain. After getting a run time
error, we ran dbcc checkdb and got a bunch of errors like:
-- Msg 12953... Invalid external st-node first text page value XXXXX
stored in first text page YYYYY
-- Msg 7951... Data size mismatch occurred while checking a TEXT
value....
Eventually, we were able to use dbcc rebuild_text to fix the problem.
But this raises the question: what kinds of errors does dbcc
checkstorage miss and is it necessary for us to run dbcc checkdb/
checktable and dbcc checkalloc on a regular basis?
There's a summary level table listing high level differences between
dbcc check commands at:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.sag2/html/sag2/sag2296.htm
But that doesn't have the level of detail I'm looking for. There's
also:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.sag2/html/sag2/sag2299.htm
which says:
"dbcc checkstorage and dbcc checkcatalog provide the best coverage at
the lowest cost, and assure recovery from backups. You can run dbcc
checkdb or dbcc checktable less frequently to check index sort order
and consistency."
So it sounds like dbcc checkstorage doesn't check index consistency?
For those of you with Sybase support accounts, there's solved case
11317965 (from 2007, for ASE 12.5.2) which says "Make dbcc
checkstorage validate index entries; currently clients have to run
checkdb and checkstorage to get a complete integrity check." But the
case refers to non-existant tech feature requests.
So, does anybody know of any sources of inforamtion about detailed
levels of error coverage for dbcc checkstorage versus other dbcc check
commands?
Thanks in advance
Ben Slade
DBA @ NCBI.NLM.NIH.gov
not find a corrupt text field page chain. After getting a run time
error, we ran dbcc checkdb and got a bunch of errors like:
-- Msg 12953... Invalid external st-node first text page value XXXXX
stored in first text page YYYYY
-- Msg 7951... Data size mismatch occurred while checking a TEXT
value....
Eventually, we were able to use dbcc rebuild_text to fix the problem.
But this raises the question: what kinds of errors does dbcc
checkstorage miss and is it necessary for us to run dbcc checkdb/
checktable and dbcc checkalloc on a regular basis?
There's a summary level table listing high level differences between
dbcc check commands at:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.sag2/html/sag2/sag2296.htm
But that doesn't have the level of detail I'm looking for. There's
also:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.sag2/html/sag2/sag2299.htm
which says:
"dbcc checkstorage and dbcc checkcatalog provide the best coverage at
the lowest cost, and assure recovery from backups. You can run dbcc
checkdb or dbcc checktable less frequently to check index sort order
and consistency."
So it sounds like dbcc checkstorage doesn't check index consistency?
For those of you with Sybase support accounts, there's solved case
11317965 (from 2007, for ASE 12.5.2) which says "Make dbcc
checkstorage validate index entries; currently clients have to run
checkdb and checkstorage to get a complete integrity check." But the
case refers to non-existant tech feature requests.
So, does anybody know of any sources of inforamtion about detailed
levels of error coverage for dbcc checkstorage versus other dbcc check
commands?
Thanks in advance
Ben Slade
DBA @ NCBI.NLM.NIH.gov