When an Exchange database gets corrupt, then there are two ways to get this database back to the normal state:
Restore from Backup: This includes restoring the database content from its backup.
Repair: To repair Exchange database with Microsoft suggested built-in repair utilities – Eseutil and Isinteg.
Both methodologies have their own set of pros and cons. Though restoring the database from Exchange backup is an easy and fast way to retrieve database components, it may not be successful when Exchange database backup is not up-to-date.
The next option is to repair the Exchange database via Eseutil or Isinteg. However, these utilities are helpful in fixing the Exchange database in those cases where the level of corruption is minimal. Eseutil helps in recovering the content of database with the help of soft or hard recovery, depending on the damage to the database.
Before opting for Exchange database repair via Eseutil, take care of the following points:
Take a backup of current EDB database and Log files at a safe location. This backup helps in recovering the database in case actual database gets corrupt, while repairing it with Eseutil commands.
Ensure that there is adequate free space on the disk to perform successful data recovery. A repaired database acquires up to 20% to 30% storage space. If this situation is not met, make sure that the Windows command line should include a command to redirect the repaired Exchange Database file on other location.
However, in the event of Eseutil and Isinteg failure, you can use Stellar Repair for Exchange to recover and restore mailboxes from inaccessible, dismounted, damaged, or corrupt Exchange database. By using the software, you can avoid data loss that may occur due to hard recovery via Eseutil. Plus, the software lets you extract mailboxes from the database and save them in an importable PST file format. You may also import the extracted mailboxes directly to the Live Exchange server by using this Exchange recovery software.
You can check the amount of free space by searching your application log for Event ID 1221.
Alternately, use Get-MailboxDatabase to get the free space in the database:
Check the amount of free space by searching your application log for Event ID 1221. Alternately, use Eseutil/MS for the current estimate.
Exchange Database Repair via Eseutil is used to fix the following errors:
Error in Provisioned Folder: An error occurs inside a folder structure for a particular or multiple mailboxes. Such folder is known as Provisioned Folder.
Error in Search Folder: Though Search Folders are meant to detect and resolve the available corrupt files, there are instances when Search Folders are identified with errors.
Error in Specific Folders: The displayed content in specific folders gets associated with errors due to which View Folders fail to return correct results.
A particular folder is unable to return the correct item count. The Aggregate Counts on that specific folder cannot yield actual values.
Unable to mount database error
Apart from these errors, Exchange database may get corrupt due to several other reasons, such as improper system shutdown, program malfunction, virus attack, software/hardware failure, and Jet Engine failure.
Repair Exchange 2013, 2016 Database
Eseutil and New-MailboxRepairRequest commands can scan, repair and defrags low level of corruption in Exchange database. So the commands should be performed at the time when:
Repairing Exchange Database via Eseutil and Isinteg involves the given processes:
Run Eseutil /mh command – To get all the information on the database and to see that the database is in Dirty Shutdown or Clean Shutdown state
Run New-MailboxRepairRequest – Defrag process for the database
Eseutil – Syntax and Commands
When Exchange database is not restored from backup and you cannot roll Transaction Logs forward, try repairing the Exchange database by using Eseutil/p command.
This command resolves corruption in Exchange database files by deleting the irreparable database file pages. Use the following syntax to repair Exchange Database (EDB):
eseutil /p <DBFileName.edb>
Eseutil/p command can fix the individual database tables, but this Exchange utility cannot establish links between them.
Warning: The above command performs the hard recovery on the database. The hard recovery process may result in the data loss.
Defragmentation with New-MailboxRepairRequest
Defragmentation reduces the size of the database by eliminating the white spaces available in the Exchange database. To perform this process, run the below command by using the PowerShell Management Shell. This process will take a considerate amount of time, depending on the size of database and performance of the disks.
Verify corruption in the database with Eseutil/mh command
To check if the recovery process is successful or not after a soft or hard recovery, use the EseUtil /mh parameter. If it is successful, the database state will show Clean Shutdown.
For any activity, it is necessary to verify that the Exchange 2013/2016 database repair via Eseutil has resulted in resolving the error.
Though almost all Exchange administrators are aware of Eseutil and New-MailboxRepairRequest commands, they are also mindful of the limitations of these commands. There could be instances where the Exchange utilities fail to work, especially in repairing severely corrupt Exchange database.
It is suggested that Microsoft Exchange should not be exposed to massive downtimes, else it may result in disruption of business communication. To prevent such disruptions, MVPs and experts recommend a competitive Exchange database recovery software such as Stellar Repair for Exchange. The software can repair even severely corrupt Exchange database files, irrespective of the Exchange versions. The software supports Microsoft Exchange server 2016, 2013 and all other Exchange versions.
The Exchange is the lifeline of business communication. Therefore, it has to be up and running 24*7. Despite this fact, Exchange administrators have to face situations where Exchange goes offline. At such times, the most feasible option is to analyze the cause behind such issue and resolve it at the earliest. If it is due to severe Exchange database corruption, then trying Eseutil and New-MailboxRepairRequest command to repair Exchange database 2013/2016 may not be practicable. Instead, use Stellar Repair for Exchange to repair severely corrupt database files. The software supports Exchange Server 2019, 2016, 2013 and lower versions.
Eric Simson is an Email Platform Consultant and is associated with Stellar Data Recovery from last 6 years. He writes about the latest technology tips and provides custom solutions related to MS Outlook, MS Exchange Server, Office 365, and many other Email Clients & Servers.