esentutl is a command-line utility included in Microsoft Windows that helps manage Extensible Storage Engine (ESE) databases. Its primary functions include database recovery, integrity checks, and repair. This utility is especially useful for system administrators and IT professionals dealing with database corruption issues in applications such as Microsoft Exchange Server and Active Directory.


The general syntax for esentutl is:

esentutl [options] [parameters]

Here is a detailed breakdown of the common usage patterns:

Repair Mode

esentutl /p <databasefile> [options]

Integrity Check

esentutl /g <databasefile> [options]

Recovery Mode

esentutl /r <logfilebase> [options]


esentutl /d <databasefile> [options]

Copy File Mode

esentutl /y <sourcefile> /d <destinationfile> [options]

Replace <databasefile>, <logfilebase>, <sourcefile>, and <destinationfile> with the appropriate file paths.


  • /p: Initiates the repair operation on the specified ESE database file.
  • /g: Checks the integrity of the specified database.
  • /r: Recovers the database using log files.
  • /d: Defragments the specified database, optionally allowing you to specify a new location for the defragmented database.
  • /y: Copies a file from one location to another, useful for large database files.
  • /s: Specifies the folder where checkpoint files are located (use with /r).
  • /t: Defines the temporary database location used during recovery or repair.
  • /v: Provides a verbose output, giving more detailed information.
  • /o: Overwrites the existing destination file when used with the /y option.


Repairing a Database

esentutl /p C:\DBFolder\database.edb

Integrity Check

esentutl /g C:\DBFolder\database.edb

Recovering a Database Using Log Files

esentutl /r e00 /l "C:\Logs\" /s "C:\Logs\" /d "C:\DBFolder\"

Defragmenting a Database

esentutl /d C:\DBFolder\database.edb /t C:\Temp\defragged.edb

Common Issues

  • Access Denied: Make sure you have administrative rights and that no other application is using the database file.
  • Failed Integrity Check: Backup your data regularly and run integrity checks often to detect issues early.
  • Performance Issues During Defragmentation: Ensure adequate disk space and consider defragmenting during low-activity periods.


esentutl can be combined with scripts for scheduled maintenance tasks. For example, creating a batch script to automatically defrag databases weekly:

@echo off
esentutl /d C:\DBFolder\database.edb
echo Database defragmentation complete.
  • chkdsk: Checks the file system and file system metadata of a volume for logical and physical errors.
  • isinteg: Used to perform integrity checks on Exchange databases specifically.

For more detailed information on esentutl and its capabilities, refer to the Microsoft official documentation.