Summary: If mailboxes are corrupted, you may fail to move them from one server to another. In this guide, you will learn different methods to move corrupted mailboxes from one Exchange Server to another. You will also learn about an Exchange repair software that can extract mailboxes from corrupted EDB file and migrate/move them to a live Exchange Server.
Mailbox corruption is a common issue faced by Exchange admins. Some common causes that may lead to mailbox corruption are storage media errors, hardware/software failure, sudden power failure, system crash, file system error, synchronization errors, and others. In case the mailboxes are corrupted, you’re not able to move them from one server to another. You can use inbuilt Exchange utilities and cmdlets to repair the corrupt mailboxes and then move them. In this blog, we will mention various methods to move corrupt mailboxes from one Exchange Server to another server.
Methods to Move Corrupt Mailboxes from One Exchange Server to Another
Here are some methods that you can use to move corrupt mailboxes from one Exchange Server to another.
Method 1: Use the New-MoveRequest Command with –BadItemLimit Parameter
To move corrupt mailboxes from one server to another, you can use the New-MoveRequest command with the –BadItemLimit and –AcceptLargeDataLoss parameters. This allows the command to complete the move request. However, it skip the number of corrupted/bad items (mentioned in the command) in the mailbox, thus resulting in data loss. Here’s how to use this command:
New-MoveRequest –identity <mailbox identity> -TargetDatabase <name of the database> -BadItemLimit <number of corrupted items to be skipped>–AcceptLargeDataLoss
To check the status of move requests, you can to use the Get-MoveRequest PowerShell command. If this command shows the status as failed or suspended, then follow the next method.
Method 2: Repair the Corrupt Mailbox and then Move it
You can first repair the corrupt mailbox and then try to move it. To repair the corrupt mailbox, you can use the New-MailboxRepairRequest PowerShell cmdlet. With this cmdlet, you can repair a specific mailbox or all the mailboxes in a particular database. This command is available in Exchange Server 2010, 2013, 2016, and 2019.
To repair a single mailbox, you can use the command as given below:
New-MailboxRepairRequest -Mailbox <name of the mailbox> -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView
To repair all the mailboxes in the database, you can use the –Database parameter instead of the -Mailbox parameter in the command.
You can view the status of repair process by using the Get-MailboxRepairRequest command.
Once the mailboxes are repaired, you can run the New-MoveRequest command to move the mailboxes.
Method 3: Repair the Entire Database using EseUtil
You can also repair the entire database by using the EseUtil commands and then try to move the mailboxes. For this, first you need to dismount the database (if it is mounted). Then, use the eseutil /r command as given below to perform the soft recovery process:
ESEUTIL /r <log_prefix> /l <Log Files Folder Path> /d <Database Folder Path> /i
When the recovery process is completed, check the state of database by using the eseutil /mh command. If the database is in clean shutdown state, then mount the database and then try to move the mailboxes.
However, if the database is in dirty shutdown state or the eseutil /r cmdlet fails to repair the database, then you can perform the hard recovery process by using the below command:
eseutil /p ‘.\Mailbox Database.edb’
It is recommended to use the hard recovery process as a last resort. This process purges the data that is deemed as corrupted, causing permanent data loss. Additionally, after performing the hard recovery process, the database is hard coded and any further issues with the database will not be addressed by the Microsoft.
An Alternative Solution to Move Corrupted Mailboxes to Another Server
An easy solution to move corrupted mailboxes from one Exchange Server to another server is by using an advanced Exchange repair software. Stellar Repair for Exchange is one such software that can repair corrupted Exchange database (EDB) file and recover all the mailboxes and other items. It then directly moves/exports the recovered mailboxes to a live Exchange Server. The software can also save mailboxes in PST files that can be later imported into another live Exchange Server or Microsoft 365. Apart from user mailboxes, it can also recover archives, public folders, and even deleted items from the EDB file. The software supports EDB files created in any Exchange Server version – 2019, 2016, 2013, 2010, and earlier.
Conclusion
To move corrupt mailboxes from one server to another, you can use the –BadItemlimit parameter with the New-MoveRequest command to skip the corrupted/bad items during the move. But this will result in data loss. The other option is to repair the corrupt mailboxes by using the New-MailboxRepairRequest command and then move the mailboxes. Alternatively, you can use the EseUtil commands to perform soft or hard recovery. However, performing hard recovery can cause permanent data loss. The best option is to use Stellar Repair for Exchange – an Exchange repair software that can extract mailboxes from corrupted databases and then directly export them to a live Exchange Server or Microsoft 365.