How to use ESEUTIL to repair/recover Exchange Databases?
01.- Check the database state and expected log files with
This is the command Eseutil /mh “Path of the database”
eseutil.exe /mh e:\temp\data\exchdb.edb
State= Clean Shutdown
2. State= Dirty Shutdown
Ensure that the log files required is in a Clean state by performing this command
Eseutil /ml “Path of the log fileslog prefix”
02.- Perform a Soft Recovery
If the health status os ‘OK’ perform the Soft recovery with the command
Eseutil /r <Log Prefix> /l “Path of the log files” /d “Path of the database”
eseutil.exe /r E00 /d “e:\temp\data\exchdb.edb” /i
Mount the database after completing the operation
Sometimes the ‘/i’ switch is also used when the operation has failed to complete
If it still shows dirty shutdown you need to repair the database with eseutil /p <path_to_edb>
Performing a hard repair using eseutil /p will check the database for any damaged pages; if it finds any, it will delete them. Make sure that you can live without any data inside the database before doing a hard repair, because you may lose data. Also, make sure you have twice as much free space as the size of the database before doing a hard repair
eseutil /p “e:\path:to_edb\exchdb.edb
You will need 110% of the largest database size as free space
Stop the Microsoft Exchange Information Store service.
eseutil /d e:\temp\data\exchdb.edb /t “g:\DB01temp.edb”
(The first path points to the Exchange database – edb file – that you wish to run the eseutil /d against, the other path is the the temp location used for the defragmentation process)
Eseutil /? The best way to learn more about these Eseutil switches.
Eseutil /a (New switch for Exchange 2010) LLR replays logs.
(Eseutil /cc Performs a hard recovery after a database restore. Exchange 2003)
Eseutil /d Performs an offline compaction of a database.
Eseutil /g Verifies the integrity of a database.
Eseutil /k Verifies the checksums of a database.
Eseutil /m Generates formatted output of various database file types. e.g. /mh
Eseutil /p Repairs a corrupted or damaged database.
Eseutil /r Performs soft recovery to bring a single database into a consistent or clean shutdown state.
Eseutil /y Copies a database, or log file.