There are several ways to recover and repair exchange databases in dirty shutdown state using eseutil but getting around the best solution that is easy to execute too, is a difficult task to accomplish. Here is a quick tutorial on using eseutil to recover and repair exchange databases:
Step 1 – Back up exchange database and log files
First of all copy the original exchange database files (*.edb and *.stm) and log files (Exx*.log) and paste them at a safer location. Also, paste them in a working directory. This is because Eseutil will modify these files in situ and something wrong may happen as well. In case, anything wrong will happen, you will have original files stored somewhere else.
You can find the location of these files in Exchange system manager and from there, you can easily copy and paste them. However, you should have good knowledge of Exchange system manager to locate these files.
Let us assume that the database names are xyz.edb and xyz.stm and they are stored in this location c:\temp\data. Let us assume that log files are stored in this location c:\temp\logs
Step 2 – Check database state
Execute the below query to check the database state: clean or dirty shut down
eseutil.exe /mh c:\temp\data\xyz.edb
The result clearly displays the database state in line. If the state is dirty shut down then read this article further or leave it.
Step 3 – Recover database
To recover the database, execute the below query:
eseutil.exe /r E00 /d “c:\temp\data\xyz.edb”
If executing the above command gives any error about database attachment then use /i in command as shown below:
eseutil.exe /r E00 /d”c:\temp\data\xyz.edb” /i
Executing the above commands will recover the database and also replay the log files to recover from data loss.
Step 4 – Recheck database state
Perform the Step 2 again to check the database state. The database should have been back in the clean state; however, in case, you still see dirty shut down in the result, then execute the below command to again repair the database:
eseutil.exe /p “c:\temp\data\xyz.edb”
Step 5: Execute Step 2 again
Now, again check the database state by executing the step 2. Now, everything should be fine so proceed ahead and defragment the database using the below command:
eseutil /d c:\temp\data\xyz.edb
With this the damaged exchange database is repaired and recovered using the Eseutil.exe. You can now move it in the Exchanger server. Now, use the isinteg.exe to check this database for remaining errors. This exe will give errors until the last one so keep executing it until you see no error. Once all errors are finished, you can remount the files.
Third Party Options :
The process mentioned above requires good technical knowledge to execute and also the results are not guaranteed. So if you are not fully aware of working of Exchange Server you are not advised to run above commands. In such situations you may rely on third party Exchange Database Repair utlity which can perform the task for you wth less result involved. One such tool is Stellar Phoenix Mailbox Exchange Recovery which can be downloaded from below link.