Troubleshooting: ESEUTIL

How to use ESEUTIL to repair/recover Exchange Databases?

Soft Recovery


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


Hard Repair

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


Defrag Databases

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.

Be the first to comment

Leave a Reply