Recover From MS Exchange Corrupt Mailbox Error:
Exchange users face corrupt mailbox issue in case of a dirty shutdown, Server failure, System failure or any other type of disaster. There’s no need to panic anymore. Here’s a step by step explanation of Recovering Corrupt Mailbox.
Manual methods to recover corrupt mailbox include ESEUTIL, ISINTEG and other miscellaneous procedures:
With the help of this command you can defragment your databases, repair corrupted store databases and execute many more operations. Here’s a list of things that could be performed using ESUTIL command:
- “/d” defrags EDB databases.
- “/p” repairs corrupted store database.
- “/c” allows you to run hard recovery on a database restored from online backup.
- “/r” to repair Exchange Log files.
- “/ms” determines the available and committed space.
- “/mk” provides information about the checkpoint file, used for troubleshooting backup and restore problems.
Things To Ensure Before Starting The procedure:
- Although the database is corrupt; it is highly recommended to make a backup.
- Ensure that the mailbox folder and the public folder store names match the backup media.
- Microsoft Exchange Information Store service (MSExchangeIS) should be running.
- Execute the Run command using Win key + R and enter services.msc.
Locate Microsoft Exchange Information Store and check if the status is started or not.
If it is not started then right click and select start.
the mailbox store to make it available offline for defragmentation:
Go to Start->Microsoft Exchange ->System managerRight click on the public store folder and select Dismount Store.
ESEUTIL can be manually executed from “root\Program Files\Exchsrvr\bin”
We need to enhance the system path as root\Program Files\Exchsrvr\bin is not in the system path, so that we can open the tool in BIN directory.
Navigate to System Properties->Environment Variables and make the necessary changes.
Utilizing Exchange Backup:
It is a simple process when you have a healthy Exchange database backup and associated log files on a different location.You just need to initiate data restoration and roll forward the DTA transaction logs. But in the worst cases, if you don’t have a healthy backup then the following would help:
NOTE: Before starting anything make sure->
- That you maintain a backup of the database.
- Check the Application log that could explain about the cause of failiure.
- Restart the Server
Know ESEUTIL related commands:
ESEUTIL /p helps to repair the damaged database. Minimum 20% free space should be present as compared to the Exchange database size. Using ESEUTIL/ms we can determine the available free space:
/s: You need to have an STM or streaming databse file present with you to successfully repair database as not doing so, pops the error “*.STM file doesn't match the *.EDB file that resides on the server” You can create one such by using /CREATESTM command.
/t: A temporary database file name should be mentioned for example temp2edb.edb
Now you are ready to execute the following command
Executing this command would repair the EDB database file and a Log report could be verified using the file called as database.integ.raw
ESEUTIL /G helps to check the integrity of the the Exchange database file
- Then, run the recovery process and append /I command in the end, which helps override EDB-STM mismatch.
- Use ESEUTIL/cc to perform a hard recovery after the database restore.
Defrag To Save Space:
By default Exchange databses defrag every night; but it defrags the online data only. Online defrag doesn’t help reduce size of the databases, offline database defrag using ESEUTIL/d is used.
This process might consume heavy amount of time depending on the databse size.
This tool helps locate weaknesses in the integrity of the data or scans for potential errors. ISINTEG also repairs the detected errors.
The executable is located at root/ Program Files / Exchsrvr and gets executed in the following format:
ISINTEG has the following attributes:
-s Server name
-pri Private Folder name
-pub Public Folder name
Execute the command “isinteg –s(Server name) -fix -test alltests”
You are allowed to check offline databses only as the Information Store Service was dismounted .
Cons: Users face a huge server downtime.
Dismounting The Whole Database:
Export Exchange database into PST file format using Outlook client cache and then re-import the data once a separate mailbox after dismounting the older one has been created.
Use Power Shell cmdlet New-MailboxRepairRequest
For Exchange 2010 above users there’s a separate cmdlet that allows repairing corrupt mailbox. It repairs only the targeted mailbox and faces no downtime. It goes down upto application level to repair corruption.
ESEUTIL, ISINTEG and Power Shell cmdlet are amongst the best manual ways to recover a corrupt mailbox. However, one must always maintain a backup before performing any of the above tasks to have a backup plan ready in case of complete disaster situation. Efficient usage of these resources helps recover from normal failures; but in case of extreme failure consult an expert or prefer purchasing the best Exchange Recovery Software.