Mailbox corruption is a standard issue faced by Admins, Engineers and Exchange service providers, however, this corruption problem can be reversed via removal of mailbox quarantine. If the problem persists, use inbuilt exchange utilities to ensure mailbox database repair and easy mailbox migration after complete recovery. Following lines describe a step-by-step procedure required to move corrupt mailboxes and the last solution, in case manual techniques pose limitations.
Exchange server is running on version Exchange 2013. The organization decides to upgrade from Exchange 2013 to Exchange 2016. To accomplish this task, Exchange administrator builds a new server and deploys Exchange 2016 roles. Now, there are two separate servers – one with Exchange 2013 and second with Exchange 2016 configuration. Now the Admin wants to move mailboxes directly from one live server to another. Taking this into consideration, Exchange Admin moves mailboxes from current 2013 server to the new 2016 server and gets stuck.
Because mailboxes report corruption?
Though Exchange admins dread this situation still they are hit with corrupt mailbox problem at some point in time. In this case, Exchange Administrator is unable to move mailboxes from one server to another due to mailbox corruption. Following a planned approach tweaks this problem and enables easy migration.
Diagnose possible root cause of mailbox corruption:
- Exchange Hardware/Data Storage failure
- Power outage at Exchange site
- File System corruption
- Broken ActiveSync clients
- Faulty Outlook add-ins
- Anti-Virus software not up-to-date
Except for power outage, corruption due to all other factors may go undetected. In most of the cases, such corruptions are discovered in the event of mailbox migration either within the organization for Exchange upgrade or across Exchange organizations. Engineers working on mailbox movement encounter failure during its movement due to a bad item. If such problem arises, the first step is to confirm if this is the case of Mailbox Quarantine and resolve with enable and disable Mailbox Quarantine commands, else resolve by following a step-by-step repair process:
- Repair Database at page level
- Defragment Database for restructuring and recreating
- Repair of the logical corruption in database
- Export contents of mailboxes
Corrupt mailboxes are quarantined by Exchange and the user is unable to access mailbox using Outlook client. In Exchange 2013 and later, cmdlets to administer Mailbox Quarantine is enabled. The commands are as follows:
- Enable-Mailbox Quarantine
- Disable-Mailbox Quarantine
Above commands replaced the manual deletion of Registry Keys. Additionally, a command is also available to detect currently quarantined mailbox:
|Get-Mailbox | Get-MailboxStatistics | Select DisplayName, IsQuarantined | Format-Table –AutoSize
However, if the problem stands unresolved. Follow the below-mentioned steps to repair mailboxes.
When there is page-level corruption in a database, select the repair process using ESEUTIL/P. Similarly, if a database experiences dirty shutdown state due to non-availability of log-files that brings the database to a clean shutdown state then there is a need to repair the process using Eseutil/P utility.
C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group>eseutil /p ‘.\Mailbox Database.edb’
A pop-up with the message to confirm that it may result in data loss. Click on OK button to ensure process completion.
Eseutil/p utility should result in clean shutdown state. Verify this state with Eseutil/mh utility.
C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group>eseutil /mh ‘.\Mailbox Database.edb’
Operation completed successfully message along with the time taken to complete the process is displayed on the screen.
The next step involves Defragmentation using Exchange utility Eseutil/d. Before starting the process of defragmentation, ensure that there is enough disk space on the volume to host temporary database, as created during the process (ideally 110% of the size of current database)
C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group>eseutil /d ‘.\Mailbox Database.edb’
Operation completed successfully message is displayed on the screen along with the time taken to complete the process.
Next step is logical repair of the objects within the Exchange database. Clean shutdown and defragmentation are not version-specific but logical repair is different for Exchange 2003 and Exchange 2010. Though it is assumed that Exchange Admins and engineers are well versed with the installed Exchange version still it is always better to confirm before proceeding with logical repair of the objects within the database.
Exchange 2007, the following ISINTEG is used to perform logical repair
C:\>isinteg -s wingtip-e2k7 -fix -test alltests -verbose -l c:\isinteg.log
Databases for server wingtip-e2k7:
Databases marked as offline are tested
Exchange 2010 and henceforth, ISINTEG is denounced and is certain functions are replaced with cmdlets including New-MailboxRepairRequest and partner utility for public folder database New-PublicFolderDatabaseRepairRequest. The difference lies in repair procedures. Earlier versions ISINTEG involved repair to be done on offline mailboxes and New-MailboxRepairRequest performs repair procedures while the database is online.
New-MailboxRepairRequest can run for the whole database or for one database, as per requirement. If it runs for a single mailbox then the services for only that particular mailbox are interrupted and all other mailboxes are available to users. New-MailboxRepairRequest checks for following areas:
- Search Folder Corruption
Verifies existence of folder names in ptagSearchBacklinks, ptagSearchFIDs, and ptagRecursiveSearchFIDs. Nonexistence of any folder results in its removal.
- Aggregate Counts on Folders
Counts the total number of messages in a folder and matches the computed count with persisted count on that folders’ Table Record. In case of any inconsistency, it replaces the persisted count with the calculated count.
- Provisioned Folders
Checks the provisioned folders with non-provisioned parent folders, back and forth.
- Folder View
Generates an itinerary of the “Views” of a particular folder and reconstructs a copy of that folder. If any discrepancy is found between the original and its temporary copy, the Folder View function deletes that view to rebuild from scratch as soon as it is requested again.
|C:\Windows\system32>New-MailboxRepairRequest -Mailbox user252 -CorruptionType SearchFolder,FolderView,AggregateCounts,ProvisionedFolder,MessagePtagCN,MessageID
RequestID Mailbox ArchiveMailbox Database Server
|C:\>New-MailboxRepairRequest -Mailbox User532 -CorruptionType SearchFolder,FolderView,AggregateCounts,
Identity Task Detect Only Job State Progress
In most cases, Exchange databases are repaired and can be mounted to resume normal functioning of Exchange database.
Use Outlook Client to export contents of corrupt mailbox databases to a PST file.
Disable mailboxes once the data is exported and create a new mailbox. Complete the process by importing this data either through New-MailboxImportRequest or Outlook Client.
Uncorrectable mailbox corruption stays in the repaired database and hinders with the migration process from one server to another.
The unwanted Outcome
PowerShell command still results in warning event IDs – 9041, 9042 and 2004 disabling mailbox movement from one server due to corrupt in mailboxes.
Stellar Repair for Exchange is the right solution when all procedures fail because:
- Repairs corruption of those mailboxes where Eseutil and PowerShell command fail.
- Resolves database inconsistency and enables mounting of a database.
- Repairs and recovers corrupt EDB files and restore all mailbox components
- Recovers deleted mailboxes
- Select right option to save recovered mailboxes
- Export or migrate mailboxes to Live Exchange server and Office 365
- Scans EDB file and renders preview for verification. Select any mailbox and any email or any mailbox component to verify.
- Works to repair Unicode EDB files in any language
All these and many more features help you to repair and move corrupt mailboxes after thorough recovery.
Exchange Admins follow all possible steps required in an easy upgrade of Exchange servers and mailbox migration. Despite this fact, problems do arise in Exchange like corruption in mailboxes or similar which hinders with the normal functioning of Exchange server. One such issue is to move a corrupt mailbox from one server to another, but deploying the right Exchange data recovery software software like Stellar Repair for Exchange helps to repair and move corrupt mailboxes from one Exchange server to another. In fact, deploying mailbox exchange recovery software acts as a ready reckoner for any problem arising due to corruption or deletion of a mailbox database.
Check out what MVP says about Exchange Recovery Tool from Stellar.