The following table lists by type code the common faults that dbcc checkstorage reports, and shows the techniques you can use to further evaluate these faults. The most common approach is to use object level dbcc commands, such as dbcc checktable, to understand and further investigate checkstorage faults. Where the Action/Follow-up column lists multiple options, these appear in the order of most preferable option first. Where the Action/Follow-up column lists an error number, see the writeup for the error in Chapter 3, “Error Message Writeups” for details.
checkstorage Type Code |
Fault Description |
Action/Follow-up |
---|---|---|
100000 |
Disk read failed |
Check Sybase device |
100001 |
Page ID errors such as page number out of range |
Similar to 2523 Error |
100002 |
pfreeoff field on header page has an invalid value |
Similar to 2505 Error |
100003 |
1. Allocation page in wrong location or location of an allocation page contains something else 2. Object ID reference error |
dbcc checktable, dbcc tablealloc, dbcc checkalloc Similar to 2529 Error dbcc checktable, dbcc tablealloc, dbcc checkalloc Similar to 1133, 2522, 2540 Errors |
100006 |
Object allocation error |
dbcc tablealloc Similar to 2522, 2525 Errors |
100008 |
Incorrect page status bit in page header |
dbcc checktable Similar to 7948 Error |
100009 |
Column/row size error, or other row format error |
dbcc checktable Similar to 2506, 2507, 2508 Errors |
100010 |
Row location error |
dbcc checktable Similar to 2509 Error |
100014 |
Page referenced by more than one object |
Similar to 2502 Error |
100015 |
Page referenced more than once for an object |
Similar to 2502 Error |
100016 |
Page allocated but not linked |
dbcc checktable Similar to 2540 Error |
100017 |
Fault encountered on Object Allocation Map (OAM) page linkage |
Similar to 2502 Error |
100018 |
Allocation is not recorded in the Object Allocation Map (OAM) |
dbcc indexalloc, dbcc tablealloc, dbcc checkalloc Similar to 7939 Error |
100021 |
Fault encountered on last page of object chain |
dbcc checktable Similar to 2575, 9924 Errors |
100022 |
Fault encountered on first page of object chain |
dbcc checktable Similar to 2577, 2578 Errors |
100023 |
Object Allocation Map (OAM) count error |
dbcc indexalloc, dbcc tablealloc, dbcc checkalloc Similar to 7940, 7949 Errors |
100024 |
Object Allocation Map (OAM) count error |
dbcc indexalloc, dbcc tablealloc, dbcc checkalloc Similar to 7940, 7949 Errors |
100026 |
Serial allocation rule violation |
Similar to 7989 Error |
100027 |
Text chain has bad root page number |
Similar to 2523 Error |
100028 |
A page of the object was found in a location other than where allocations are currently allowed |
Activate Trace Flag 2513 AND run: dbcc indexalloc, dbcc tablealloc, or dbcc checkalloc Similar to 2558 Error |
100029 |
Control page: pprevpg or pnextpg non-zero |
Similar to 2577 Error |
100029 |
Data/text page: next page value non-zero on last page |
dbcc checktable Similar to 2575 Error |
100029 |
Data/text page: previous page value non-zero on first page |
dbcc checktable Similar to 2578 Error |
100031 |
Link check: referenced page is not allocated, or is allocated to a different object |
dbcc tablealloc, dbcc checkalloc Similar to 2521, 2522 Errors |
100032 |
Link check: pprevpg or pnextpg is inconsistent with page reference |
Similar to 2503 Error |
100033 |
Invalid or inconsistent value for the non-contiguous free space on the page. |
reorg. Similar to 9988, 9993 |
100034 |
Invalid or inconsistent value for the contiguous free space on the page. |
reorg. Similar to 9990, 9995 |
100035 |
Inconsistency in the page fullness indicator. |
reorg. Similar to 12916. |
100036 |
Invalid or inconsistent value for the deleted row count on the page. |
reorg. Similar to 9989, 9994. |
100037 |
Inconsistency between the forwarded rows indicator and the number of forwarded rows on the page. |
reorg. |
100038 |
Page header format indicator set incorrectly. |
reorg; may require drop/recreate table. |
The following checkstorage faults do not correspond to any existing dbcc errors:
checkstorage Type Code |
Fault Description |
---|---|
100004 |
Pages with a timestamp in the future. |
100005 |
Pages from the wrong database. |
100007 |
Extent ID - pages allocated to a non-existent object. checkalloc with the fix option can correct this error. |
100011 |
Text pointer - a corrupt text/image value for a table row/column. Look for other faults to determine the nature of the problem. |
100012 |
Page status bits for the page show page type is different from the page chain being examined. |
100019 |
Extra Object Allocation Map (OAM) Entry. Similar to 7940, 7949 Errors. checkalloc or tablealloc with the fix option can correct this error. |
100025 |
Row count or rows per page error in Object Allocation Map (OAM). checktable corrects this error. |
100029 |
1) index page only flag incorrectly set on a data page. Creating a clustered index or bulk copying data out and back in can correct this error. 2) poffset does not match the contents of the page. 3) plastrowoff is not the offset of the last row on an index page. 4) Out of range values in OAM page header fields. Many 100029 faults can be corrected by bulk copying data out and back in. |
100030 |
Page formatting requirements for pages other than data and index. Checks depend on page type. OAM page: entries are for allocation pages and total of used+unused is less than 255. Control page: first or last page is invalid for database; the affinity table is corrupt. Text page: timestamps on the first page are invalid or inconsistent. Allocation page: extent on allocation page is not correctly allocated and is not free for allocation (similar to 2525 error). |
checkstorage “soft” faults may or may not reflect actual corruption. Use dbcc checkverify to see if the faults are indeed hard errors.