Wednesday, May 26, 2010

Rectifying Error 5228 in SQL Server 2008

When you use the DML (Data Manipulation Language) commands to update the database, the rows sometimes get in an intermediate state. It is called the antimatter state that enables concurrent DELETE statements to leave a pointer for the index builder transaction so that deleted rows are not inserted again. Ideally, these rows should be deleted at the end of the operation. However, sometimes it does not happen that invariably results in database corruption. To resolve this situation, you should use appropriate corrective methods. However, if you are unable to do so then you should use a third-party SQL Server recovery software to address the issue.

Consider a scenario wherein you are working on a table in SQL Server 2008. You get the following error message while performing some modifications on the database table:

“Table error: Object ID O_ID, index ID I_ID, partition ID PN_ID, alloc unit ID A_ID (type TYPE), page PG_ID, row R_ID. DBCC detected incomplete cleanup from an online index build operation. (Antimatter column value is VALUE.)”


Cause:

The root cause of this error message is that for the O_ID object , I_ID index, and PN_ID partition, there is an unfinished online index build was detected. This is testified by the presence and the displayed value of an antimatter column on the R_ID row.

Resolution:

To resolve this error message, you should perform the following methods, preferably in the given order:

Check for hardware issues: You should run the hardware diagnostics and check if the error appeared because of any hardware issue. You can also try to swap the hardware components to zero in and resolve the issue. In addition, you can try to reformat the disk and reinstall the operating system.

Restore from backup: Check if you have a clean and updated backup of the database. If yes, then you should restore the database with its backup.

Run DBCC CHECKDB: As a last resort, you should run the DBCC CHECKDB command without the repair clause to ascertain the level of the corruption. You should run the command again after knowing the repair clause. It will rebuild the corrupted indexes.

However, if you still are not able to resolve this error by any which method then you should use a third-party SQL recovery software. Such read-only tools are able to recover SQL database using sophisticated scanning algorithms without overwriting the original data.

Stellar Phoenix SQL Recovery is an MS SQL recovery software that enables you to recover corrupted databases created in SQL Server 2000, 2005, and 2008. It is competent enough to restore various objects of SQL database such as tables, queries, stored procedures, triggers, views, etc. This SQL recovery software is also able to preserve the database constraints and user-defined data types. It is compatible with Windows 7, Vista, Server 2003, XP, and Server 2000.

No comments:

Post a Comment