FIX: Error 5262 when you execute DBCC CHECKDB on the primary replica in SQL Server 2012, 2014 or 2016

Applies to: SQL Server 2012 DeveloperSQL Server 2012 Enterprise CoreSQL Server 2012 Enterprise


Assume that you use SQL Server 2012, 2014 or 2016 AlwaysOn Availability Groups and that your database contains some corrupted pages because of a fault such as a malfunctioning storage driver. In this situation, the automatic page repair feature may successfully repair the pages silently in the background. However, the DBCC CHECKDB or DBCC CHECKTABLE command does not work well with these repaired pages. Additionally, you receive a false error message that resembles the following:
Msg 5262, Level 16, State 1, Line line_id Object ID object_id, index ID index_id, partition ID partition_id, alloc unit ID alloc_unit_id (type In-row data), page (page_id), row row_id: Row contains a NULL versioning timestamp, but its version chain pointer is not NULL. Version chain points to page (0:0), slot -1.
When you receive this error message, it does not mean that you have database corruption. Instead, it indicates that the DBCC command does not recognize that these pages have been repaired. After you apply this fix, the DBCC command now recognizes that the pages have been repaired, and you will no longer receive this error message.

To check the repaired pages, run the following Dynamic Management Views (DMV) query:

select * from msdb..suspect_pages


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.


Learn about the terminology that Microsoft uses to describe software updates.