Database Mirroring - sys.dm_db_mirroring_auto_page_repair

Applies to: SQL Server

Returns a row for every automatic page-repair attempt on any mirrored database on the server instance. This view contains rows for the latest automatic page-repair attempts on a given mirrored database, with a maximum of 100 rows per database. As soon as a database reaches the maximum, the row for its next automatic page-repair attempt replaces one of the existing entries. The following table defines the meaning of the various columns.

Column name Data type Description
database_id int ID of the database to which this row corresponds.
file_id int ID of the file in which the page is located.
page_id bigint ID of the page in the file.
error_type int Type of the error. The values can be:

-1 = All hardware 823 errors

1 = 824 errors other than a bad checksum or a torn page (such as a bad page ID)

2 = Bad checksum

3 = Torn page
page_status int The status of the page-repair attempt:

2 = Queued for request from partner.

3 = Request sent to partner.

4 = Queued for automatic page repair (response received from partner).

5 = Automatic page repair succeeded and the page should be usable.

6 = Irreparable. This indicates that an error occurred during page-repair attempt, for example, because the page is also corrupted on the partner, the partner is disconnected, or a network problem occurred. This state is not terminal; if corruption is encountered again on the page, the page will be requested again from the partner.
modification_time datetime Time of last change to the page status.


Requires VIEW SERVER STATE permission on the server.

Permissions for SQL Server 2022 and later

Requires VIEW SERVER PERFORMANCE STATE permission on the server.

See Also

Automatic Page Repair (Availability Groups: Database Mirroring)
Dynamic Management Views and Functions (Transact-SQL)
suspect_pages (Transact-SQL)
Manage the suspect_pages Table (SQL Server)