|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.
runs MTACHECK with standard logging detail copied to Mtacheck.log.
C:\EXCHSRVR\BIN> mtacheck /f mtacheck.log
|/v||Increases the frequency and detail of progress messages.|
|/f filename||Displays progress messages and also sends them to the specified file.|
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.
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'
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.
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.
For more information about message IDs and tracking messages, see "Message Tracking" earlier in this chapter.