Exchange and mailbox move requests

Came across an odd one today. I had a mailbox move request queued in Exchange: the mailbox was moving from one database on one server, to another database on another server. The move was local: no cross-domain migration or anything funky, just a straight-forward move to balance load across mailbox databases.

The job had been queued for 6 hours and hadn’t started processing (completion rate of 0%) but Exchange Management was showing the job as “Completing” even though it hadn’t started. Any effort to view the log of the move or remove it from the queue prompted Exchange to throw its teddy around and spit out the following error:

The attempt to deserialize the move job from the system mailbox job queue failed.

So, what causes it, and how do you get rid of it?

The problem stems from Exchange having problems reading and writing extended attributes to the user object in the Active Directory database. To clear the problem you’ll need someone with high levels of AD permissions and access to ADSI Edit as well as the AD Users and Computers snap-in. Once you have these, follow the steps below:

  1. In AD Users & Computers find the user object and make a note of the full path down to the object
  2. Open ADSI Edit and browse down to the user object
  3. Right-click the object and open the Properties window
  4. Find and clear the values for the following fields (they will be visible if you have a filter for ‘Attributes with values’):
    1. msExchMailboxMoveFlags
    2. msExchMailboxMoveSourceMDBLink
    3. msExchMailboxMoveStatus
    4. msExchMailboxMoveTargetMDBLink
  5. Apply the changes

After replication has taken place on all the domain controllers that Exchange is configured to use, the move request will have been removed on its own: it will no longer be present in Exchange Management and the the PowerShell cmdlet Get-MoveRequest will not return anything for the formerly stuck request.

So is it safe to retry the move request?

In all likelihood, yes. The problem will likely be a transitory one relating from a loss of connection between the Exchange server processing the move request and a domain controller. If the problem re-occurs on the same mailbox, it is likely that there a corruption on the mailbox or the AD user object which will require additional troubleshooting.

Share and Enjoy:
  • Digg
  • StumbleUpon
  • Technorati
  • del.icio.us
  • Twitter
  • blogmarks
  • HackerNews
  • Tumblr
  • Posterous
  • email
Bookmark the permalink. Follow any comments here with the RSS feed for this post.
Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Your email address will not be published. Required fields are marked *

This blog is kept spam free by WP-SpamFree.