How to Migrate Exchange Server 2016 to 2019 | Part 3
This is the third part of the three-part article series on How to Migrate Exchange Server 2016 to 2019. If you are landed directly to this page, please take some time, and go through the first two parts in the link above and come back to this part as this part is a continuation of the other two parts.
In this part of the article series, we are going to look at renaming the database, cutover mail flow, move mailboxes to Exchange Server 2019 including user mailbox, arbitration mailbox, and audit mailbox. In the end, we are going to look at decommissioning Exchange Server 2016 once all the workloads are migrated to Exchange Server 2019.
Rename and Move Default Mailbox Database
We are renaming the database as its long and random numbers in the default database name. So, giving a meaningful name to the database would be appropriate and move the path of the database to somewhere having enough disk space for the database to grow and location to store the transactional logs.
Get-MailboxDatabase -Server ex2019 | Set-MailboxDatabase -Name MBX-DB-2019
Move-DatabasePath -Identity MBX-DB-2019 -EdbFilePath C:\ExchangeDatabases\MBX-DB-2019\MBX-DB-2019.EDB -LogFolderPath C:\ExchangeDatabases\MBX-DB-2019_Log
Cutover Client Access
We have completed renaming the default database name and moving the database file location to other drives. The next step on this migration is to point Exchange server 2019 IP address to hostname records such as Autodiscover and exchange server FQDN hostname. The email clients internally will point to the exchange server for client access. We need to do the NAT settings on the firewall to point to Exchange Server 2019 as well. We are making these changes even though the mailboxes are still in Exchange Server 2016. Exchange server 2019 will act as a proxy to the mailboxes residing in Exchange server 2016.
Move Mailboxes to Exchange Server 2019 Database to Migrate Exchange Server 2016 to 2019
We have completed most of the Exchange server 2019 configuration-related settings and migration work. But the mailbox move is the meaty thing that we need to do next and it is the most time-consuming. We are migrating all mailboxes which are residing in Exchange Server 2016. We can do it through the Exchange Admin Center also.
Get-Mailbox -Database MBX-DB-2016 | New-MoveRequest -TargetDatabase MBX-DB-2019 -BatchName “MBX-DB-2016 To MBX-DB-2019”
Periodically you can check the mailbox move status by running the command
Get-MoveRequest | Get-MoveRequestStatistics
In this case, our mailboxes are less in size, so the mailboxes completed moving to Exchange 2019 server database.
We are going to move all arbitration mailboxes from Exchange server 2016 to 2019. The command to move arbitration mailboxes is
Get-Mailbox -Server ex2016 -Arbitration | New-MoveRequest
You can check if the arbitration mailboxes move completed by running the following command
Get-Mailbox -Arbitration | Get-MoveRequest
From Exchange Server 2016 onwards, there is one more system mailbox called Audit Log. You can check the Audit Log mailbox containing the server by running the following command
You can move the audit log mailbox to Exchange 2019 server running the following command
Get-Mailbox -AuditLog | New-MoveRequest
The following command will show the status of the mailbox move.
Get-Mailbox -AuditLog | Get-MoveRequest
Decommission Exchange Server 2016
We have completed moving all the workloads such as mailboxes and service points to Exchange Server 2019. In the process of moving all the workloads, we need to remove the Exchange server 2016 hostname from send connector. Login to ECP and go to mail flow\send connector. Edit the send connector and on the scoping page, remove Exchange 2016 server name from the list. If Exchange Server 2019 was not already added, add it now and remove the exchange 2016 server hostname.
Also, in the process of decommissioning Exchange server 2016, we need to remove the Exchange 2016 server mailbox databases. Run the following command from Exchange Management Shell to remove the Exchange server 2016 databases.
Get-MailboxDatabase -Server EX2016 | Remove-MailboxDatabase
Now, it’s time to uninstall Exchange server 2016, log in to Exchange Server 2016 server desktop and go to control panel, Add Remove Programs and select Exchange Server 2016 from the list and uninstall.
The Remove Exchange Server Wizard will open and click Next to continue.
Once the readiness checks are completed click uninstall to uninstall Exchange Server.
The Uninstall Progress will show the uninstall step and its progress.
Once uninstall process is completed, click Finish Exit out of Uninstall wizard.
In this three-part article series, we have started with discussing Exchange Server 2019 installation on the Existing Exchange Server organization with prerequisites install followed by the exchange server setup. We have discussed configuring Exchange Server 2019 components such as Outlook Anywhere, Virtual Directories, Service Connection Point, and Certificate import from the old Exchange server. We have discussed Client access service cutover and mailbox move. In the end, we have decommissioned the old Exchange server which includes uninstallation of the Exchange server.
I had already created Exchange Server 2013 to 2019 migration, even though I mentioned Exchange server 2013 and 2016 migration is more or less the same, most of the users migrating Exchange server 2016 are not following that article. Also, I thought an exclusive article series just for Exchange Server 2016 to 2019 will help migrate flawlessly.
This is the end of the Exchange Server 2016 to 2019 migration demonstration; I look forward to connecting with you to clarify your questions and answer them and I will be helpful to solve the issues in case you come across any. I will join you in an instance with another article and would like to say goodbye for now. Thanks for following my article to migrate your Exchange server.