Maintenance and Troubleshooting << >>


MTACHECK scans the internal database of the MTA looking for objects that are damaged and interfering with queue processing. It places defective objects from the queues in files for you to examine later. In addition, MTACHECK rebuilds the queues so the MTA can be restarted and resume to processing.

If your MTA stops and cannot be restarted, MTACHECK can get it running again. It can also be used for routine checks of the integrity of MTA database queues.

If MTACHECK removes objects from a database queue, you can recover them. MTACHECK places all objects it considers to be damaged in a Db*.dat file in Exchsrvr\Mtadata\Mtacheck.out. You can examine the objects and repair or delete them.


Mtacheck.exe is in the Exchsrvr\Bin directory. It must be run from the command line of the server with the MTA problem. The MTA must be stopped, and the Mtacheck.out subdirectory, where MTACHECK places defective objects, must be empty or deleted. MTACHECK displays progress messages. Use the options to regulate the detail of the messages or to copy them to a log file.

  1. Stop the MTA.
  2. Empty Exchsrvr\Mtadata\Mtacheck.out\*.*
  3. At the command prompt, type mtacheck, followed by one or both of the options.
  4. For example:
    C:\EXCHSRVR\BIN> mtacheck /f mtacheck.log
    runs MTACHECK with standard logging detail copied to Mtacheck.log.

Option Description
/v Increases the frequency and detail of progress messages.
/f filename Displays progress messages and also sends them to the specified file.

Interpreting MTACHECK Output

MTACHECK examines each queue in the database. If it finds an error, it reports the name of the queue, the type of error, and the number of messages returned to the rebuilt queue.

For example:

Queue 'xxxxxxx' required reconstruction

- corrupted queue file

23 messages recovered to the queue

It then examines objects in the queues. If an object is in error, it removes it from the queue and places it in a file in Exchsrvr\Mtadata\Mtacheck.out. It reports the object ID, error type, queue name, and the MTS-ID of the corrupted message, if known.

An MTS-ID is assigned to each message by its transport service and remains with the message to its destination, although gateways can assign additional identifiers. It consists of the originating server, the date and time the message was sent, and a unique hexadecimal identifier.

A sample MTACHECK log can include:

Object 300596 invalid

- missing object file

Object removed from queue 'xxxxxxx'
MTS-ID: c=US;a=;p=Ferguson;l=NEWYORK0196012020010800000CDE

When the MTA finishes processing, it displays one of following messages to describe the results:

Database clean, no errors detected
Database repaired, some data may have been lost

- (number) queues required repair out of x% detected

- (number) objects damaged out of y% detected

Database has serious errors and cannot be reconstructed
Some objects missing from the Boot Environment. Please reload the files from the BOOTENV directory on the install CD.

The boot environment message indicates that report templates and other objects the MTA needs are missing, and the MTA cannot generate them. These objects are included in the files in the Bootenv directory. Once you have installed them, rerun MTACHECK. When the process is complete, restart the MTA.

Caution   Copy only objects that are missing to the boot environment. If you replace existing objects, all messages in MTA queues will be deleted.

Searching Message Logs by Message ID

MTACHECK also reports the message ID of removed objects in its log if it can be determined. If message tracking is enabled, you can search the tracking log for the object by its message ID. Determining the path of the bad message can lead you to the cause of the problem. You may need to search the logs of more than one site to find the complete path of the message.

  1. Copy the message ID from the MTACHECK log.
  2. From the Tools menu in the Administrator window, choose Track Message.
  3. In the Connect to Server dialog box, type the name of a server.
  4. In the Select Message to Track dialog box, choose Cancel.
  5. In the Message Tracking Center, choose Advanced Search.
  6. Choose By Message ID.
  7. Press CTRL+V to paste the MTS-ID into the Message ID box of the Select Messages to Track dialog box.
  8. In the Message Tracking Center, choose Track.

For more information about message IDs and tracking messages, see "Message Tracking" earlier in this chapter.