skip to Main Content

Mailbox migration best practices

Mailbox migrations are among the most known tasks when you have an Exchange Server in the organization. Of course, there are reasons why you want to migrate mailboxes to another database. But, before you start with the batch migration mailboxes, there are migration mailboxes best practices to know about.


We already discussed between the New-MigrationBatch or New-MoveRequest in Exchange. If you want enhanced reporting, you should choose the New-MigrationBatch cmdlet or use Exchange Admin Center (EAC).

Note: You don’t need to follow the below steps if you migrate only one or a few mailboxes. Instead, follow the article Move mailbox to another database with PowerShell.

Migrate mailboxes best practices

You have a new mailbox database, and you want to move the mailboxes to that database. This can be a mailbox database on an existing Exchange Server or another Exchange Server. Let’s look at the best practices for mailbox migrations.

1. Enable backup

You must have backup software configured to backup the Exchange Server. The backup will run and truncate the mailbox database logs. Also, it can recover mailbox items and many more. If you don’t have a backup system in place or have issues with the backup and need to move the mailboxes to another database, you can proceed further, but it’s not what we recommend.

Important: Always have a backup running on the Exchange Server. This is not only the case for Exchange Server but for all systems that are running in production.

If you have a lot of mailboxes to migrate, the backup needs to run many more times than once a day. How many times the backup needs to run a day depends on how many mailboxes you will move.

2. Configure antivirus exclusions

Read more in the article Antivirus exclusions for Exchange Server.

Exclude the correct folders, processes, and extensions for Exchange Server in the Antivirus. First, download the script for your Exchange Server version and run it on the Exchange Server. Then, go to the text files and exclude the items that are shown in the text files.

3. Enable circular logging

Read more in the article Enable circular logging in Exchange Server.

The migration batch will use the Migration arbitration mailbox account, and the mailbox database that hosts the migration arbitration mailbox will fill up with database transaction logs. Unfortunately, many logs might get the disk size full, and that’s not what you want. An excellent way is to migrate the migration arbitration mailbox to the target mailbox database and enable circular logging temporarily.

Migrations generate a lot of transaction logging on the destination mailbox database. As a general rule, you can estimate that 1GB of transaction logs will be generated per 1GB mailbox data that is being moved. So you need to be careful not to oversize your migration batches. Don’t try to move more gigabytes of mailbox data than you have available in transaction logs space on your destination server.

Enabling the circular logging on the target database will ensure that it will not generate the transaction logs and fill up the disk. Another way is to run the backup multiple times in a select period. But, we have seen that running backups every hour will make the server use more resources. So if you don’t have that many resources available on the Exchange Server, enable circular logging temporarily.

Note: Don’t forget to disable circular logging after the mailbox migration finishes.

4. Disable search indexing

Read more in the article Disable search indexing Exchange Server.

Disable search indexing on the target database will speed up the migration process. Inform the users that they temporarily can’t search mail items in Outlook when the mailbox is migrated to another database.

Note: Don’t forget to enable search indexing after the mailbox migration finishes.

5. Move arbitration mailboxes

Read more in the article Move arbitration mailboxes in Exchange Server.

Always check if there are arbitration mailboxes active on the mailbox database. You can keep the arbitration mailboxes on the mailbox database if you want to keep the mailbox database. But, if you want to delete the mailbox database, you need to move the arbitration mailboxes to another mailbox database. If you don’t do that, you cannot delete the mailbox database.

6. Move audit log mailbox

Read more in the article Move audit log mailbox in Exchange Server.

Check if the audit log mailbox is available on the mailbox database. If so, move the audit log mailboxes to the new mailbox database.

7. Migration speed

The migration speed will depend on many factors, including the size of mailboxes (amount of data to move) and the performance of source and destination server. The migration processing will stop and start depending on whether the server the mailboxes being moved from or the server the mailboxes being moved to are on heavy load at the time.

8. Monitor performance

Continuously monitor the Exchange Server performance. Check that enough disk size is available and that the CPU, memory, network are not under heavy load.

Migrate mailboxes

There are different ways to migrate mailboxes in Exchange Server:

Delete mailbox database

Read more in the article Delete mailbox database in Exchange Server.

Delete mailbox database after all the mailboxes are migrated to another mailbox database. Otherwise, you will use unnecessary disk space. That’s because the mailbox database will not shrink.


You learned the mailbox migration best practices. Always ensure that you go through these checks before starting mailbox migrations. It’s essential to configure everything and migrate fast without interrupting the users.

Did you enjoy this article? You may also like the course Exchange Server. Don’t forget to follow us and share this article.



ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has 0 Comments

Leave a Reply

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