This article was previously published under Q164506
This article has been archived. It is offered "as is" and will no longer be updated.
Sometimes a directory synchronization (dirsync) message becomes corrupted and cannot be removed from the message transfer agent (MTA) queue, making the dirsync agent (DXA) unable to receive further requestor updates. In order to fix this problem, you need to either find and remove the .dat file corresponding to the dirysnc message, or remove the DXA queue and rebuild it.
To fix this problem:
Stop the Exchange Server MTA and run MTACHECK with the following command:
MTACHECK /V /F logfile.txt
This will generate a log file and allow you to determine which queue the DXA owns, and which objects (.dat files) are associated with those queues.
Look in the log file: For Exchange 2000 Server, look for an entry that looks like the following:
/O=ORG/OU=Administrative Group/CN=CONFIGURATION/CN=SERVER/CN=MICROSOFT DXA (id 01000045)
Match that ID (01000045) with a Checking object line to determine which .dat file is corrupt. For example:
Checking object 0350000FB -OK, on queue 01000045
In this case, the file will be Exchsrvr\MTADATA\DB50000FB.dat. Find the entry that is closest to the time and date that the DXA stopped receiving dirsync messages and rename the file to *.tmp.
Run MTACHECK and start the Microsoft Exchange MTA.
Do a manual dirsync to see if that fixed the problem; if not, remove the next closest .dat file (associated with the DXA) and try again.
NOTE: There are two alternative means of cleaning out ALL dirsync messages:
Delete the actual DXA .dat file and run MTACHECK twice. This will force the deletion of all dirsync messages and re-create a new DXA queue.
Use the latest version of MTACHECK and run it with the following command:
This will remove all dirsync messages automatically.