Last Updated on August 24, 2022 by Akhilesh Shivhare
This is the fourth in a series of blogs taking you through the process of migrating from Exchange Server 2013 to 2016. In the part three, we covered installing Exchange Server 2016, configuring certificates, setting virtual directory URLs and migrating the CAS role.
To read other parts in this series, go to:
Exchange 2013 to Exchange 2016 Migration (Part 1)
Exchange 2013 to Exchange 2016 Migration (Part 2)
Exchange 2013 to Exchange 2016 Migration (Part 3)
Exchange 2013 to Exchange 2016 Migration (Part 5)
Exchange 2013 to Exchange 2016 Migration (Part 6)
This section deals with the process of migrating data. We will first show you how to create a mailbox database and then how to move mailboxes and public folders to the new Exchange Server 2016.
Renaming and moving the default Exchange Server 2016’s mailbox database
When Exchange Server 2016 is installed, it creates a default mailbox database in the C drive of the system. Instead of keeping the database in the default location (C drive), we need to move it as only OS should be installed in the ‘C’ drive.
Firstly, find the name of the default database. To do this, run the following command:
Get-MailboxDatabase -Server keshav-ex16

Figure 1: Find out name of the default database
Note the name of the database from the output of the command. In our case, the database is named as “Mailbox Database 3020345612”.
Now, we will rename the database:
EX16DB
To rename the database, run the following command:
Set-MailboxDatabase -Identity “Mailbox Database 0939112263” -Name EX16DB
The database has to be moved now. Use the command below to move the database EDB file to “D:\Microsoft\Exchange Server\V16\Mailbox\ EX16DB.edb” and the logs to “D:\Microsoft\Exchange Server\V16\Mailbox\ EX16DB”
Move-DatabasePath -Identity EX16DB -EdbFilePath “D:\Microsoft\Exchange Server\V16\Mailbox\ EX16DB.edb” -LogFolderPath “D:\Microsoft\Exchange Server\V16\Mailbox\ EX16DB”

Figure 2: Moving Database
Creating mailbox databases
The size of the non-replicated mailbox databases should be no more than 200GB, and the size of the replicated mailbox databases cannot exceed 2TB. Therefore, we may need additional databases.
We will create another mailbox database with the below settings:
Name: EX16DB2
The new database will be created in the same place where the old database was kept: “D:\Microsoft\Exchange Server\V16\Mailbox\EX16DB2.edb”. The Log folder path will also be in the same place: “D:\Microsoft\Exchange Server\V16\Mailbox\”
To create the new database and the log files run the following command:
New-MailboxDatabase -Server keshav-ex16 -Name EX16DB2 -EdbFilePath “D:\Microsoft\Exchange Server\V16\Mailbox\ EX16DB2.edb” -LogFolderPath “D:\Microsoft\Exchange Server\V16\Mailbox\”

Figure 2: Creating New Mailbox
After you have created the database, the information store has to be restarted. Run the following command to restart the information store:
Restart-Service MSExchangeIS
Now that the new mailbox database has been created, we can mount it:
Mount-Database EX16DB2
Moving Exchange Server 2013 mailboxes to 2016
Moving Exchange Server 2013 mailboxes to 2016 will create a lot of logs so it is important to ensure that you have enough space for storage. It is also wise to take regular backups so that in the case of a database failure you can use the backups to restore the database immediately.
We will move the following types of mailboxes: Arbitration mailboxes or system mailboxes, user mailboxes, public folders and archive mailboxes.
Move Exchange Server 2013 System Mailboxes to Exchange Server 2016
Installing Exchange Server 2013 server created a number of system mailboxes, also called arbitration mailboxes, in the database. To generate the list of such mailboxes, you will have to run the following command:
Get-Mailbox –Arbitration

Figure 4: Generating List of system mailboxes
These Arbitration mailboxes will have to be moved to the new Exchange Server. To move the mailboxes over to Exchange Server 2016 mailbox database (EX16DB2), the following command has to be run:
Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase EX16DB2

Figure 5: Moving Exchange mailboxes to new server
To confirm whether the mailboxes have moved or not run the following command:
Get-MoveRequest | Get-MoveRequestStatistics
After you are sure that the mailboxes have been moved, you then can migrate the Public Folders.
Moving Public Folders to Exchange Server 2016
In older versions of Exchange, a replication problem meant moving Public Folders was a complicated process. Luckily, due to architectural changes, moving Public Folders has become much easier. Firstly, get a list of all available Public Folders on the old Exchange Server using the following command:
Get-Mailbox –Server Keshav-ex13 –PublicFolder

Figure 6: Get List of Public Folders
In our case the name of the Public Folder is “Public Folders1”.
Now, the task is to move the Public Folders to the new Exchange Server. For that, the following command has to be used:
New-MoveRequest PublicFolders1 -TargetDatabase EX16DB2

Figure 7: Move Public Folders to new Exchange Server
Moving User Mailboxes
There are many different options for migrating user mailboxes. You can move a single mailbox, all mailboxes in an OU or the entire mailbox database (if granular migration is not required). Using the commands below will move the primary User Mailboxes along with their Archive mailboxes. For those who want to move the primary mailboxes only, you can use the “ArchivesOnly.”
In our case, we will move all the mailboxes from the old Exchange Server 2013 database (“Mailbox Database 0939112263”) to Exchange 2016 database (EX16DB2). For that use the following command:
Get-Mailbox -Database “Mailbox Database 0939112263″ | New-MoveRequest -TargetDatabase EX16DB2
Know the status of the move request
To know the status of the mailbox move request, run the following command:
Get-MoveRequest | Get-MoveRequestStatistics

Figure 8: Status of the moved mailboxes
Conclusion
In part 4 of this series, we covered the process of creating mailbox databases on our Exchange Server 2016 and moving the system mailboxes, user mailboxes and public folders. We have also shown you how to move all the mailboxes together.
We are almost there. In part 5, we will detail how to migrate the email flow from the old server to Exchange 2016.