Menu Hide

How to Repair Exchange Database with ESEUTIL?

Database corruption in Exchange Server is a common issue that can have severe implications on your organization, such as downtime and productivity loss, leading to financial losses. When a database goes down or dismounts due to corruption or inconsistencies, users cannot access their mail account or send/receive emails. However, Microsoft provides Extensible Storage Engine Utilities or EseUtil utility with Exchange Server 4.0 and later versions that administrators can use to repair inconsistent or corrupt databases. 

EseUtil is also used to maintain the Exchange database health by defragmenting, reducing the size, and running integrity checks on the mailbox database. In this guide, we will discuss the steps to repair and recover a corrupt or damaged Exchange database with the help of EseUtil.

Stellar Repair for Exchange

Exclusive Offer- Get 10% Off on Exchange Repair Software

  • Upto 100 Mailboxes Recovery 
  • Supports MS Exchange 2016 & all previous versions 
  • Instant Delivery by Email 
  • Free Technical Support

Steps to Repair Exchange Database with EseUtil

EseUtil is a built-in command-line-based Exchange mailbox database recovery tool that you can run using the Command Prompt application. 

Follow these steps to repair the Exchange database using the EseUtil commands:

Step 1: Locate Database and Transaction Logs

Before using EseUtil to repair an inconsistent or corrupt Exchange mailbox database, you must know the database and transaction log files’ location. By default, Exchange Server stores the database at the following location,

C:\Program Files\Microsoft\Exchange Server\Vxx\Mailbox\<database>

While the transaction log files are stored at the following location,

C:\Program Files\Microsoft\Exchange Server\Vxx\Logging)

NOTE: The Vxx varies based on the Exchange Server version. 

Besides database and transaction logs, Exchange Server also creates checkpoint files, reserved logs, and temporary log files to maintain the database integrity. However, due to issues such as server crash, software or hardware failure, insufficient storage space, deleted or missing transaction logs, malware or virus intrusion, etc., the database gets damaged and enters an inconsistent or Dirty Shutdown state.

Step 2: Check Free Space

EseUtil requires free space equal to the size of the database. However, to calculate the correct free space required, check the database size and open the 1221 event ID to check the whitespace in the database. Then, subtract the whitespace from the database size- this is the minimum space required to perform database recovery using EseUtil. 

Step 3: Verify Database Status and Transaction logs’ Health

You also need to check the database status before repairing the database with EseUtil. The command to check database status is as follow,
eseutil /mh <path to database/database name.edb>
For instance, 
eseutil /mh C:\Program Files\Microsoft\Exchange Server\Vxx\Mailbox\DB01.edb

Repair Exchange database with ESEUTIL

In the output, check the database state. If the State: Dirty Shutdown, the database is inconsistent or corrupt and requires repair. Also, check the log files’ health by running the following Command, 
eseutil /ml  C:\Program Files\Microsoft\Exchange Server\Vxx\Mailbox\DB01.edb

If the logs are healthy, the out will display “No damaged log files were found.” If so, proceed to the next step.

Step 4: Repair Exchange Database with EseUtil

You can run Soft Recovery using the EseUtil command to fix the database with minor corruption or damage due to uncommitted log files. In Soft Recovery, the EseUtil replays the uncommitted transaction logs on the database to commit the pending changes, which brings the database back into a Clean Shutdown state. The steps are as follow

  • Login to Exchange Server as administrator and open Command Prompt 
  • Run the Eseutil command and check the output. If it displays EseUtil is not recognized…., execute the following command to navigate to EseUtil location, cd C:\Program Files\Microsoft\Exchange Server\Vxx\Bin
Repair Exchange database with ESEUTIL
  • Ensure free space equal to the size of the database is available on the drive and then run the following command,
    ESEUTIL /r <log_prefix> /l <path_to_log files folder> /d <path_to_database folder> 
    Eseutil /r e01 /l " C:\Program Files\Microsoft\Exchange Server\Vxx\Mailbox" /d " C:\Program Files\Microsoft\Exchange Server\Vxx\Logging)”
Repair Exchange database with ESEUTIL
  • After the operation is completed, check the database status using the eseutil /mh command. 

If the Exchange database is in the Clean Shutdown state, you can mount the repaired database on the server using the Mount-Database -identity <database name> cmdlet via Exchange Management Shell (EMS) or use Exchange Admin Center (EAC). 
However, if the database is not fixed with soft recovery and is severely damaged, you can use the eseutil /p command to perform hard recovery. However, it requires at least 1.2 times additions free space than the database size. The steps are as follow, 
In Command prompt window, run the following command to perform hard recovery on the Exchange database,

Eseutil /p <database path/database name.edb>

Eseutil /p

ATTENTION: In hard recovery, the EseUtil purges irrecoverable or damaged mail items and mailboxes from the database to repair the Exchange database. This can lead to significant data loss, and thus, hard recovery via EseUtil isn’t recommended. However, you can avoid data loss and recover all mail items using Exchange Recovery software, such as Stellar Repair for Exchange. 

Special Offer from Stellar

Get exclusive offer on stellar data recovery software, drop email to

Stellar Repair for Exchange comes in handy when EseUtil fails to repair the corrupt or inconsistent Exchange database. Unlike EseUtil, the software does not overwrite the original Exchange database file. Instead, it intelligently extracts the mailboxes from the corrupt or damaged Exchange database and saves them to PST format, which you can import in Outlook, Live Exchange Server, or Office 365.

You may also export the recovered mailboxes from the database directly to a new or existing Live Exchange Server or Office365. In addition, it auto-maps the source and destination mailboxes and provides an option to create a new mailbox and user account directly from the software interface, with just a few clicks.It uses a parallel processing technique, which processes up to 4 mailboxes from source database to destination. This minimizes the downtime and helps restore the mailboxes at up to 4x faster speeds.

It’s the best and reliable alternative to EseUtil that Exchange administrators can use to fix the various database and mailbox-related issues and prevent or minimize downtimes. Moreover, it’s much easier to use than the EseUtil and doesn’t require any technical expertise. 

Stellar Data Recovery


As an Exchange or IT administrator, you may come across a situation where you need to fix an inconsistent Exchange database. Such situations are critical and require an immediate fix. Fortunately, Microsoft provides an Exchange database repair utility called EseUtil to repair corrupt or damaged Exchange database files. The utility helps when the database suffers from minor corruption issues. If the database is severely damaged, use Exchange recovery software instead of running EseUtil hard recovery. The software does not cause any data loss and restores all mailboxes on your server in no time.  You can get started by downloading the free demo version and evaluate it yourself. For more help, leave a comment down below. 

76% of people found this article helpful