During migration or normal operation of your Exchange Server, you might find the need to move a mailbox or a number of mailboxes from current database to a new one on the same server or another server in the same infrastructure.
For this, you need to use the New-MailboxMoveRequest command to initiate the move from a mailbox database to another or to a mailbox database on another server.
New-MoveRequest -Identity td1 -TargetDatabase "NewEDB"
The above command will move the mailboxes one-by-one. To move the entire mailbox database at once, you can use the following command:
Get-Mailbox -Database "NEWEDB" | New-MoveRequest -BatchName "NEWEDB to DB3" -TargetDatabase "DB3"
It is to be noted that this will create a performance degradation on the server, and you cannot choose several mailboxes as it will move the entire mailbox database. Alternatively, you can use the parameter to migrate mailboxes, specified in a CSV file, to make a selective migration.
This will create a batch job. During this job, you can see the progress of the move requests. If all goes well, the mailboxes will be moved to their destination successfully. However, in some cases, you may encounter an error message in your Exchange Server, similar to the given below.
Exchange Migration Error: MigrationTransientException: MapiExceptionMdbOffline
Error: MigrationTransientException: MapiExceptionMdbOffline: Unable to get mailbox information. (hr=0x80004005, ec=1142) Diagnostic context: Lid: 49384 Lid: 51176 StoreEc: 0x476 Lid: 40680 StoreEc: 0x476 Lid: 43980 Lid: 58295 StoreEc: 0x476 Lid: 50103 Lid: 48311 StoreEc: 0x476 Lid: 43959 Lid: 60343 StoreEc: 0x476 --> MapiExceptionMdbOffline: Unable to get mailbox information. (hr=0x80004005, ec=1142) Diagnostic context: Lid: 49384 Lid: 51176 StoreEc: 0x476 Lid: 40680 StoreEc: 0x476 Lid: 43980 Lid: 58295 StoreEc: 0x476 Lid: 50103 Lid: 48311 StoreEc: 0x476 Lid: 43959 Lid: 60343 StoreEc: 0x476
This error could be for a single or batch mailbox migrations. When you move a single mailbox, it’s easy to identify the mailbox which is causing the issue. However, in batch migration, you can either see the mailboxes which are left behind or look deeper into the logs.
Let’s take into consideration a migration from Exchange Server 2010 to Exchange Server 2019.
To resolve the issue, one simple option to try is to restart the Exchange Server 2010 services. But, of course, this needs to be done after hours.
First, you need to run the health test on both servers by using the Get-ServerHealth PowerShell cmdlet to see the overall running state of both servers. One of the reasons would a corrupted folder which is causing the export failure.
An option would be to use a machine where Microsoft Outlook is installed and the account is configured. You can run Microsoft Outlook by using the following command.
After this is complete, you would try again to resume the move. If this option fails, you can use a tool called MFCMAPI to identify the culprit folder which is causing this issue.
Once you open the tool, follow the given steps:
- Click on Tools
- Click on Options
- Scroll down and tick Use the MDB_ONLINE flag when calling OpenMsgStore
- Click OK
- Click on Session
- Click on Login
- Choose the Outlook profile and click on OK
- This will connect you to the mailbox on your Exchange Server. Right click on the mailbox loaded and click on Open Store.
- This will show all the mailbox folders and structure. Now, you can use the Get-MoveRequestStatistics to export detailed report into an XML file of the culprit user. In this file, after searching for any failures, you will see the problematic folders under the section DataContext. Here, the line with a failure will illustrate the folder, for example /TopOfInformationStore/SentItems/. This means that the problematic folder is the Sent Items.
- Now, go back to the MFCMAPI. Then, go to the specific folder, right-click on it, and select Delete Folder.
- After this, a window will prompt for confirmation. Tick the Hard Deletion and click on OK.
After the deletion, you should be able to continue the migration. However, if this method is successful, you will end up with data loss. The only way to proceed, by using this method, is to delete the problematic content.
You need to also consider the administrative efforts and the resources required to complete this task which will add up to the expenses of migration task.
On the other hand, there is a quick and easy solution to mitigate cost and data loss. To shorten the risks, you can use Stellar Converter for EDB. The software is compatible with all Exchange Server versions and can open any EDB file and export the data to PST and other formats, which you can import into the new Exchange Server. Stellar Converter for EDB can also come in handy when doing an Exchange Server migration. By using this software, you can export directly from an EDB file to a live Exchange Server mailbox database, along with the option to export directly to an Office 365 tenant.