Increasing the Speed of Exchange Mailbox Migrations

I recently built new Exchange 2016 servers for a customer and needed to move all of the users’ mailboxes to the new servers. When I initially issued the moved requests, the migrations were running about 10Mbps and only moving about 5 mailboxes at a time. There were about 700 users and 1.5TB of email, so obviously this was going to take a very long time I began researching how to increase the speed of mailbox migrations and found several settings that could be changed. Disabling content indexing allowed the migration to occur between 150Mbps and 200Mbps.


·         Disable content indexing on the target database

o   Set-MailboxDatabase “DatabaseName” -IndexEnabled:$False

§  Wait a few minutes for the content index to be disabled.

§  Verify content indexing is disabled by running Get-MailboxDatabaseCopyStatus

o   After mailboxes are migrated, the content index will need to be rebuilt

§  Set-MailboxDatabase “DatabaseName” -IndexEnabled:$True

§  Invoke-Command -ComputerName GES-EXCH1 {Stop-Service MSExchangeFastSearch; Stop-Service HostControllerService}

§  Delete old content index file from mailbox database folder

§  Invoke-Command -ComputerName GES-EXCH1 {Start-Service MSExchangeFastSearch; Start-Service HostControllerService}

§  Verify content indexing is enabled by running Get-MailboxDatabaseCopyStatus

·         Mail will need to be reindexed, so the status will be Crawling

·         Change the number of mailboxes that can be migrated at one time

o   Edit C:\Program Files\Microsoft\Exchange Server\V15\Bin\MsExchangeMailboxReplication.exe.config

o   Set the MaxActiveMovesPerSource and Target, and MaxActiveJobsPerSource and Target to desired values

o   Restart the Microsoft Exchange Mailbox Migration service

·         Create a new throttling policy

Networking Exchange 2016 migration