My Exchange database is in a dirty shutdown state, and I don’t have a backup. There is a corupt log file named e00.log. How can I repair the Exchange Database?
You need to use the ESEUtil (and a search engine) to repair your database if no backup is available. You can read up on the specifics of eseutil.exe on TechNet, but the basics are as follows:
- Run Eseutil /P
- After Eseutil /P completes successfully, run Eseutil /D
- After Eseutil /D completes successfully, run Isinteg –fix –test alltests
Now, instead of re-writing the entire process, I'll point you to a few good step-by-step guides with more detail:
Exchange Server Database Corruption and Dirty Shutdown Scenarios - Explains how this happened.
Repair Exchange DB After Dirty Shutdown - A very detailed step-by-step guide.
Why Exchange Databases Might Remain Dirty After ESEUTIL /R Recovery - Additional valuable reading on the topic.
Be aware that this process takes a lot of time and a lot of free disk space. PLEASE read the linked TechNet article and possibly other resources before running these commands. Good luck!
Use eseutil command using /P for Exchange Database repair to get the database into a clean shutdown state.
But Microsoft strongly discourages using eseutil /P because it may lead to data loss.
Since Log play import role after the Main database, as transaction logs carries data that even database might not have and thus they play an important role in the recovery of Exchange database at times of failures. Without log files, DB would be inconsistent and most probably unusable.
Since Exchange Database hold two State: “Dirty Shutdown and Clean Shutdown” depend on whether the database is in “Consistent or "Inconsistent” state
Inconsistent DB: If transactions are waiting to be written to the database but the Server shuts down accidentally (due to any reason), the DB remains attached with the LOG files. In this case, the pages for modification in the memory are marked as Dirty and this is the reason the DB in this scenario is called to be in Dirty shutdown state, similar to above case:
Verify the state of the database, ESEutil /mh command can be used:
Two ways in which Exchange Server performs recovery of Exchange database the when log file is corrupt
Soft Recovery: this recovery is performed against offline copythe of database. Here, the recovery has to be processed manually usthe ing ESEutil tool. the For manual replay of log files, the syntax is:
Hard Recovery: Process lead to replaying the log file and can be processed with "Last Backup Set" It is similar to soft recovery but is different from it in the aspect that instead of Checkpoint file, Restore.env file can be used to replay log files.