Built-in Recovery

The directory, information store, and MTA all have built-in startup recovery methods. These methods are automatically invoked if the service did not stop cleanly.

The directory and information store both go through database recovery (also called JET). This is the technique of replaying the last transactions against the database if the database is out of synchronization with the transaction logs. It normally takes 3 to 5 minutes to replay a 5 MB log file. Not all of the transaction logs will be replayed. Only the transactions that haven't been flushed to the database are replayed.

If the MTA service did not stop cleanly, it will perform a MTACheck at startup. This check scans and makes repairs to the MTA database files. The MTA database files are the Db*.dat files in Exchsrvr\Mtadata.

The application event log shows when one of the components goes into recovery mode.
Component Event Log
JET Recovery EDB #18 - JET recovery started.
EDB #71 - logged for each file replayed by the recovery.
MTACheck MSExchangeMTA / Field Engineering #2119 - MTACheck start
MSExchangeMTA / Field Engineering #2206 - Once for each internal MTA queue checked. The MTA queues are:

XAPIWRKQ
OOFINFOQ
REFDATQ
MTAWORKQ

MSExchangeMTA / Field Engineering #2207 - MTACheck completed
The MTACheck will save the process results in the file Exchsrvr\Mtadata\Mtachek.Out\Mtacheck.Log.

It may take a few minutes to a few hours to run the MTACheck, depending on the number of files in the MTADATA directory.

If desired, the MTACheck can be run manually. However, it cannot be run remotely. It must be run from a console command prompt. The syntax for MTACheck is:

Exchsrvr\Bin\Mtacheck /V /F Logfilename.Log

Where logfilename is the name of the file you want to create.