Mtacheck can be run manually, but is also run automatically when the
MTA service determines that the MTA was not shut down gracefully. If an
automatic Mtacheck is run, events will be logged to the Windows NT
Application Event Log and an Mtacheck.log file will be generated in the
Mtacheck.out sub-directory of the exchsrvr\MTADATA directory containing the
DB*.DAT files used by the MTA. If the Microsoft Exchange Performance
Optimizer has been used to move Mtadata files, there may be more than one
Mtadata directory).
If Mtacheck is run manually, no logging is performed unless specified on
the command line. In addition, logs can be created in any location and with
any name. In terms of logging, the automatic Mtacheck is the equivalent of
running the following at the command line (except an automatic run also
logs events to the event logs):
MTACHECK /V /F \exchsrvr\mtadata\Mtacheck.out\Mtacheck.log
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 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 may assign
additional identifiers. It consists of the originating server, the date and
time the message was sent, and a unique hexadecimal identifier for the
message.
A sample Mtacheck log can include:
Object 300596 invalid
- missing object file
Object removed from queue 'xxxxxxx'
MTS-ID: c=US;a= ;p=Owen;l=Washington0196012020010800000CDE
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> queue(s) required repair out of <percent> detected
- <number> object(s) damaged out of <percent> 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 the 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.
Warning: Copy only objects that are missing. 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 they
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.