Reputation: 147
Yes I know the best option is to restore a non-corrupted database.
But... Does the following message mean that there is data corruption in unused pages?
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID -8573858375060684800 (type Unknown), page (0:13887752). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 12716041 and -14.
I have about 200 errors like the above.
Upvotes: 0
Views: 13345
Reputation: 28403
This pattern means that DBCC couldn’t work out which object the page is part of.
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID -8573858375060684800 (type Unknown), page (0:13887752). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 12716041 and -14.
SQL Server has a way of allowing data file pages to be what is called protected on disk. It is actually a real misnomer because what it really means is that it allows SQL Server to detect when a page has become corrupted. It is simply a way of SQL Server being able to tell that the I/O subsystem has corrupted a page. You can turn on page protection options or change the one you have by using ALTER DATABASE SET PAGE_VERIFY<option>
, there are three different options that you can use:
Reference : https://www.stellarinfo.com/blog/detect-page-level-corruption-automatically/
Upvotes: 0
Reputation: 28900
Yes your database is corrupted.The error you pasted indicates ,this corruption may be due to I/O sub system..
You will need to understand what is checksum prior to that..
when you enable checksum,SQLServer calculates checksum of the page before writing to disk and writes to its page header.
When the page is read again,it calculates checksum ,if this checksum doesn't match the last calculated CheckSum,SQL will throw error
Run CHKDSK as well,to see if I/O subsystem is fine along with DBCC activities
The same issue has been reproed here
Update as per comments:
Objectid Zero is explained by Paul Randal :Finding a table name from a page ID
If you see the ObjectId is 0, that means there was no metadata found. This could be because:
The table that the page was part of has been deleted since the page corruption was logged
The system catalogs are corrupt in some way
The page is corrupt and so incorrect values were used to look up the metadata
Upvotes: 1