Problem:
Why does it take so long to move an Exchange mailbox?
Why does it take so long to move an Exchange 2003 mailbox to Exchange 2010?
Solution:
In this scenario there are two sites both running Exchange 2003 servers. The client wants to upgrade to exchange 2010 and installs two new servers one in each site.
The Administrator is moving a mailbox from the old server to the new server in the same site but it takes a very long time.
First thing to check is how the mailbox is moving. This can be achieved on the new server from the Exchange Management Console. The following command (cmdlet) will return a list of all mailboxes currently moving, queued or completed.
Get-MoveRequest
The following command (cmdlet) will return a summary of the move progress for the specified Mailbox. The identity can be seen in the list returned from the previous command.
Get-MailRequestStatistics identity Mailbox Name
The following command (cmdlet) will return a detailed report of the move. The cmdlet called fl (Format-List) is a useful command to display the return data from another cmdlet in a table form.
Get-MailRequestStatistics identity Mailbox Name | fl
However we are interested in only two items in the report (MoveServerName and BytesTransferredPerMinute). You can either sift through the information or to fine tune the report run the following command instead. This command is basically the same as above expect we are specifying filters on the Format-List (fl) cmdlet so the returning table of results will only show what we need.
Get-MailRequestStatistics identity Mailbox Name | fl MoveServerName,BytesTransferredPerMinute
Pay attention to the moving server name because if it's not the server you was expecting it to be then you may have a "routing group" issue. To confirm this check the bytes transferred per minute because if its extremely low then there is a good chance you are spanning a WAN link somewhere.
To resolve this issue you need to check the routing groups. This can be done by typing the following
Get-RoutingGroupConnector
If the routing groups arn't correct then you will need to resolve this first and then repeat the above to see if that's fixed the problem.
Note
Exchange 2010 by default will only move 5 mailboxes concurrently, this can be changed if you need to move more however please note the more you move concurrently the more system overhead you will need to process the requests.