How to Repair a Dirty Database with ESEUTIL

  • Post author:
  • Post category:Exchange

The Value of ESEUTIL When Your Exchange 2010 Database is Dirty

ESEUTIL isn’t a new command-line tool, it’s been around since version 5.5 of Exchange Server and was used to defragment, repair and verify the integrity of Exchange databases. Depending on your experience with Exchange (and hopefully it has always been good) you may never need to use ESEUTIL.

However, if you ever find yourself restoring an Exchange database from a backup, you may find that the mounting aspect of that database won’t go so well. Your database is dirty and needs a little ESEUTIL scrub down.

How to Tell if Your Exchange Database is Dirty

What we mean by dirty is that the database is in a dirty shutdown state and typically means a transaction log(s) is missing (most likely your current log, ie. E00 or E01 or whatever your transaction log prefix).

So, first off, how can you tell if your database is in a dirty shutdown state? After you recover the database (but before trying to mount it) you can open a command prompt at the location of the database on the Exchange Server and type in: eseutil /mh “database name” as shown in Figure 1 below.

This screenshot, taken from my brand new Exchange 2010 Backup and Recovery Training course shows a database that has been recovered named stgirosgolfcourse.edb. We are using the /mh switch to help us read the header information from the database.