Friday, January 15, 2010

DBCC CHECKDB unable to resolve SQL Database corruption

The logical and physical integrity of all SQL Server database tables is performed by DBCC CHECKDB command. The command performs and divides its operations in three different phases. The first phase checks the consistency of the allocation structures in disk space, the second phase checks the integrity of all pages and their structures, and the last phase checks the catalog consistency. If critical errors are found in any of the phases, the DBCC CHECKDB command terminates immediately. This happens when the SQL Server database is badly corrupted, and is beyond the repairing capabilities of DBCC CHECKDB command. In such cases, if you need to access the database records, then you will need to restore the database records from a valid backup. But, if no backup is available or backup falls short to restore the required amount of data, then you will need to repair the database by using advanced MS SQL Repair application.

Consider a practical scenario, where you receive the below error message when you attempt to access one of your table records:

“Table error: Object ID O_ID1, index ID I_ID1 cross-object chain linkage. Page P_ID1 points to P_ID2 in object IDO_ID2, index ID I_ID2.”

The above error message primarily results in inaccessibility of all the table records. Additionally, the error message pops up every time you attempt to access the table records.

Cause:

The above table error message occurs when the next page pointer of P_ID1 page points to different object. This can happen either due to logical corruption factors or physical crash of a system component.

Resolution:

The above error message can be resolved by the below steps:

Database table corruption, if caused due to physical damage, can be resolved by changing the damaged system component.
For logical table corruption reasons, run DBCC CHECKDB command with appropriate repair clause.

While the physical corruption issues can be resolved easily changing the system component, the probability of logical corruption problems being resolved by DBCC CHECKDB command is slightly less. In such cases, you will need to use advanced SQL Database Recovery application to repair the database table. A SQL Repair software can be easily downloaded from Internet.

No comments:

Post a Comment