Help interpret the DBCC CHECKDB output associated with Torn Pages

I was asked to look at a SQL 2005 database that reports "torn page" errors.

I can look at the MsgID, etc., but I just need a few pointers to interpret the DBCC CHECKDB output more generally.

In this example:

Msg 8909, Level 16, State 1, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8795506764168298496 (type Unknown), page ID (1: 106887) contains an incorrect page ID in its page header. The PageId in the page header = (1041: -523272204).
Msg 8939, Level 16, State 98, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 8971733407675449344 (type Unknown), page (0: 0). Test (IS_OFF (BUF_IOERR, pBUF-> bstat)) failed. Values ​​are 62916617 and -4.
CHECKDB found 0 allocation errors and 37 consistency errors not associated with any single object.

... apparently the errors are not related to any object (note that ObjectID and IndexID do not have correct values). What exactly does this mean? If this is not one object, then what is it?

In this example:

Msg 8939, Level 16, State 98, Line 1
Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 286034662653952 (type In-row data), page (1: 207727). Test (IS_OFF (BUF_IOERR, pBUF-> bstat)) failed. Values ​​are 62916617 and -1.
Msg 8964, Level 16, State 1, Line 1
Table error: Object ID 69575286, index ID 1, partition ID 286034662653952, alloc unit ID 71780678747160576 (type LOB data). The off-row data node at page (1: 443), slot 26, text ID 1509706039296 is not referenced.

... are they links to pages containing data or pages containing indexes? It mentions data outside of the row, but it also gives the index id. What do the 0 and 1 index values ​​mean?

This, by the way, helps the charity, so any help is greatly appreciated. Thank.

PS: I'm not on the site yet, just looking at the dbcc logs they sent me, so I can't get it going yet.

Edit: its SQL 2005 v 9.0.3042

Edit: Suppose, you know, hypothetically, restoring backups might not be an option because the torn pages have been in the database for months due to a third party not returning in-place service plans after a server switch or some such scenario. Therefore, suppose that investigating errors and trying to fix or isolate them is the only course of action.

+2


source to share


2 answers


Paul Randall has just about every answer you will ever need.



In practice, however, you should consider "recovering" already ...

+1


source


I speak from experience here ...

The error means your database is corrupted.



I would restore the latest backup, you have this error and don't use it.

You can run DBCC to repair the damage, but there is a possibility that you will lose data. I don't recommend doing this because "repair / restore" might work, but it doesn't.

+1


source







All Articles