MS Exchange is a popular email server solution. Any organization that uses MS Exchange Server typically stores hundreds of mailboxes on it. Sometimes, due to Exchange errors and technical faults with the server, the Exchange mailboxes or database (EDB) may get corrupt or damaged.
And fixing such corrupt EDB and mailboxes can take a lot of time and efforts.
But sometimes, even after putting a lot of effort and several hours into it, the EDB or Exchange mailbox corruption cannot be fixed due to the complex nature of the Exchange server environment.
It is in such scenarios that backup of database helps. But in the absence of backup or obsolete backup, a third-party Exchange database repair tool comes into the picture. The Exchange database repair tool helps fix complicated Exchange server issues such as mailbox corruption by repairing Exchange mailboxes, & brings server back online.
In this post, we'll be discussing one such reliable tool, along with some manual methods, for Exchange mailbox repair. But before we head to the solutions, let us understand the root causes that may lead to Exchange mailbox corruption.
Reasons behind Exchange Mailbox Corruption
'Exchange Mailbox Corruption' or 'Exchange Corruption' means EDB file corruption. EDB is an Exchange Database file, which stores all mail items, such as emails, calendar items, contacts, notes, etc. of an Outlook user on the Exchange server. Any corruption to this file can lead to Exchange server errors, such as EDB dismount or Mailbox corruption.
Some common causes behind EDB file corruption or dismount
- Virus infection
- Improper system shutdown
- Application malfunction
- User errors
- Missing database objects
A Few Common Database Errors that lead to Mailbox Corruption
More often than not, the server displays some symptoms that eventually lead up to corruption. These symptoms appear unexpectedly when you try to perform various operations on the database. Here's a list of some common Exchange error codes that may appear due to mailbox corruption:
- The error appears when one of the log files is missing or does not match the other logs in the sequence.
Error -515: "JET_errInvalidLogSequence"
- It appears when there is a Page-level corruption in the EDB file.
Error 1018: "JET_errReadVerifyFailure"
- This error appears when the assessment of header information in log files and databases indicates some important files have been removed. Click here to know more about Jet Engine Errors.
Error 1216: "JET_errAttachedDatabaseMismatch"
- The internal structure of the STM file has been damaged while trying to repair it.
Error 1601: "Operation terminated with error -1601 (JET_errRecordNotFound, The key was not found) after 2.354 seconds."
- The premature exit of Eseutil /p while rebuilding B-trees directly.
Error 1605: "Operation terminated with error -1605 (JET_errKeyDuplicate, Illegal duplicate key) after xxx.xxx seconds."
- Exchange mailbox failed to mount since Information Store Service was stopped or is damaged.
Event ID 9175: "The Microsoft Exchange Server computer is not available. Either there are network problems or the Microsoft Exchange Server computer is down for maintenance. The MAPI provider failed."
Exchange Server computer is down for maintenance. The MAPI provider failed."
- Information store service was abruptly shut down causing corruption in EDB and STM files.
Exchange Dirty Shutdown Error: "ERROR: database was not shutdown cleanly (dirty shutdown )."
Methods to Repair User Mailbox in Exchange 2007, 2010, 2013, 2016 & 2019
Method 1: Using New-MailboxRepairRequest Command
Method 2: Exchange Mailbox Repair using ESEUTIL
Microsoft offers an Exchange mailbox repair tool called ESEUTIL to perform mailbox repair tasks in Exchange 2007, 2010, 2013, 2016, and 2019.
ESEUTIL stands for Exchange Server Database Utility. It is an executable application that finds and repairs errors in Exchange mailbox, public folder, or transport server queue database. To run ESEUTIL, go to C:\Program Files\Microsoft\Exchange Server\V15\Bin and double-click on eseutil.
The utility can be executed with a number of switches, each performing different functions. The current case of fixing database corruption lies within the scope of ESEUTIL repair mode (ESEUTIL /p).
Enter the following command to repair corrupt EDB,
ESEUTIL /P databasefilename.edb
NOTE: This command runs eseutil in repair mode that corrects corrupted or damaged databases at the page and table levels, but not at the application level.
Once the repair process completes successfully, it is advisable to run an integrity check on the database to ensure that it is consistent. For this, a tool called 'ISInteg' is used as follows:
ISInteg –fix
Once this tool finishes working, you should save all the data into PST files using ExMerge, create a blank database and again use ExMerge to save all the data from PSTs into the newly created database.
Situations Where ESEUTIL Repair Process May Fail
Although the ESEUTIL command-line utility fixes minor corruption issues with the Exchange database, it isn't a reliable and powerful utility.
There are several cases where it may fail to complete the repair process or result in data loss. For instance,
The repair process initiated by executing the ESEUTIL command with the /p switch attempts to repair and validate all system tables and indexes. But, any table, index, or other data that cannot be repaired is discarded. In such a case, the repair process exits with ESE Event ID 500, which indicates that one or more bad pages of data were lost during the repair process. The event also suggests the user run an application-level integrity check on the database since the database might be left in an inconsistent state.
When ESEUTIL fails, it may throw termination errors such as,
- Operation terminated with error -1216 (jet_errattacheddatabasemismatch)
- Operation terminated with error -1003 (jet_errinvalidparameter)
- Operation terminated with error -1032 (jet_errfileaccessdenied)
- Operation terminated with error -1811 (jet_errfilenotfound)
- Operation terminated with error -1018 (jet_errreadverifyfailure)
- Operation terminated with error -528 (jet_errmissinglogfile)
- Operation terminated with error -501 ( jet_errLogFileCorrupt )
- Operation terminated with error -1605 ( JET_errKeyDuplicate )
ESEUTIL Limitations
Besides the above situation, there are a few other limitations associated with the utility:
- The utility may take a lot of time to complete the repair process
- Some internal procedures carried out during the command's execution—if found incorrect—can lead to severe and irreparable database damage
- It permanently deletes all the data that can't be recovered
- The tool needs a lot of free storage space to perform the repair operations
- It requires technical skills to perform the process. Thus, it may be difficult to work with, especially if you haven't used it earlier
EseUtil & Stellar Repair for Exchange Comparison
Method 3: Repair Corrupt Exchange Mailboxes using Stellar Repair for Exchange
Keeping in mind the limitations of ESEUTIL, it is better to use a reliable Exchange repair tool such as Stellar Repair for Exchange. This software overcomes all the limitations of ESEUTIL and features an easy to follow GUI interface to fix Exchange mailbox and database corruption issues. It performs Exchange mailbox repair with the help of robust scanning algorithms that searches for recoverable items within severely corrupted EDB files. You can use this software to repair corrupted mailboxes in all version such as Exchange 2007, 2010, 2013, 2016 & 2019.
All recovered mailbox items are then restored into a new PST file, which can be imported into MS Outlook. The software also helps you restore deleted mailboxes as well as particular deleted emails. Further, the latest version of the software also allows you to recover Unicode EDB files.
And to top it all, you can save the recovered data in a variety of formats including MSG, EML, RTF, HTML, and PDF.
Below are the steps to repair corrupt Exchange 2019, 2016, 2013, 2010, and 2007 mailbox using this software:
- Download, install and launch the software
- On the software's home screen, click Browse to choose the corrupt Exchange Database (EDB) file and click 'Next'
- In 'Select Scan Mode', choose Quick Scan and click 'OK'. You may also choose 'Extensive Scan'.
- When the scan is finished, the software displays a preview of all the mailboxes found in the corrupt EDB
- Once you're satisfied with the preview, select one or multiple mailboxes to be recovered and click 'Save'
- Select the desired output format, such as PST, to save your repaired and recovered mailbox data
- Choose a destination where you wish to save it and click 'OK' to finish
'Quick Scan' is a fast scan while 'Extensive Scan' takes a little more time but yields better results.
You may also export the repaired mailbox to Live Exchange or Office 365. Here are the steps to export the repaired mailbox to Office 365 or Live Exchange:
- Follow steps 1 through 5 of the procedure mentioned in the previous section
- When the software prompts you to select an output format, select Office 365
- A dialog box will appear, enter your Office 365 or Live Exchange login credentials
- Click 'OK'
How to prevent EDB file Corruption?
While the above-mentioned solutions help you fix Exchange corruption, it would be best if you can avoid EDB file corruption altogether. Here are some tips that can help you avoid EDB file corruption:
- Perform a manual integrity check on the database every quarter
- Ensure that you always have a full backup of the database, especially before performing a manual integrity check
- Also, ensure that there is enough free disk space on the server before you initiate an integrity check. You'll need space for the entire volume of the database, plus 10 – 20 % for the overhead
Conclusion
Exchange mailbox corruption may occur due to several reasons. However, most issues with Exchange can be resolved by using proprietary command line tool, i.e. ESEUTIL, and Exchange Admin Center. ESEUTIL is a Microsoft Exchange repair utility, which is located in the Exchange installation directory.
In this post, we have discussed methods to repair corrupt Exchange Mailboxes in Exchange 2007, 2010, 2013, 2016, 2019 using the ESEUTIL, New-MailboxRepairRequest command, and advance repair tool such as Stellar Repair for Exchange. As ESEUTIL, New-MailboxRepairRequest have some limitations, Stellar Repair for Exchange is the best option to repair severely corrupt Exchange mailboxes.