The database has been repaired <N> times

[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at https://go.microsoft.com/fwlink/?linkid=34707.]  

Topic Last Modified: 2009-02-09

The Microsoft Exchange Disaster Recovery Analyzer tool examines the Exchange database headers to determine the database repair information. Specifically, the Disaster Recovery Analyzer examines the values for the following fields:

  • Repair Count

  • Old Repair Count

  • ECC Fix Success Count

  • ECC Fix Error Count

  • Bad Checksum Error Count

If the value for a particular field is not zero, the Disaster Recovery Analyzer generates one of the following messages, as appropriate for the particular field:

Repair Count

Database '<DatabaseName>' has been repaired <N> time(s). The last repair time is <RepairDate>.

Old Repair Count

Database '<DatabaseName>' has been repaired <N> time(s) before the last defragmented.

ECC Fix Success Count

An ECC error was fixed and resulted in a good page in database '<DatabaseName>' for <N> time(s). The last log time is <RepairDate>.

ECC Fix Error Count

An ECC error was fixed and resulted in a bad page in database '<DatabaseName>' for <N> time(s). The last log time is <RepairDate>.

Bad Checksum Error Count

A non-correctable ECC/checksum error was found in database '<DatabaseName>' for <N> time(s). The last log time is <RepairDate>.

In Exchange Server 2003 Service Pack 2 (SP2) and in later versions of Exchange, Exchange database headers include additional fields to record repair information. You can use the Eseutil /mh command to display this information. Database repair information may help you determine whether a recurring problem exists with one or more Exchange databases.

The Repair Count value indicates how many database repairs were performed during the last database repair operation.

Note

The Repair Count field does not indicate how many times the database was repaired. The Repair Count value increases only if an item in the database was repaired during the repair operation. For example, if the Repair Count value is 0, and then two database items are repaired during a single database repair operation, the Repair Count value is set to 2.

The Old Repair Count field records the Repair Count value since the last offline database defragmentation was performed. A Repair Count value that is greater than the Old Repair Count value indicates that the database has been repaired since the last offline defragmentation operation.

Exchange Server 2003 Service Pack 1 (SP1) and later versions of Exchange include the ability to fix certain error correcting code (ECC) issues during typical database operations. The ECC Fix Success Count field shows how many times the ECC fix operation was successfully performed. Also, when an ECC correction is made to a database page, an additional, more comprehensive test is performed against that page. If this subsequent test fails, the ECC Fix Error Count is incremented by one. Additionally, a -1018 event is logged in the Application log.

The Bad Checksum Error Count field displays the number of -1018 errors in the database. These represent database page errors that could not be repaired automatically.

For More Information

For more information about how to troubleshoot Exchange databases, see TechNet Webcast: Exchange Server Database Troubleshooting and Recovery with the Exchange Troubleshooting Assistant 1.1 (Level 300).

For more information about the ECC-related database headers, see the Microsoft Exchange Team Blog article, Exchange 2003 SP2 Database Header changes.

Note

The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use.

For more information about Exchange 2007 database recovery, see Disaster Recovery.

For more information about how to use the Eseutil tool, see: