Exchange Extensible Storage Engine Utility (Eseutil)

Exchange users often experience terrifying situations when the Exchange data gets corrupted due to unexpected errors.

When it comes repairing Exchange database, there are many third-party tools available. (Which are entirely out of focus of the Wiki.)

But, more important Exchange itself provides an inbuilt utility to repair the Exchange database – Eseutil. In this article, we’ll talk about how to run Eseutil Repair Mode (Eseutil /P) and the best alternative to it.

Note

To deal with the Exchange database corruption situation, many administrators think of keeping a backup. If you have a good backup, you can restore data from it rather than repairing the damaged database.

Eseutil Repair Mode (Eseutil /P)

Exchange Extensible Storage Engine Utility (Eseutil), is specially designed to diagnose and repair Exchange database when it gets corrupt. It allows users to fix the issues that occur in Exchange Server due to database corruption. However, as an administrator, you might have to use switches with the ESEutil command to repair the damaged Exchange database file. Here we are discussing Eseutil with focus on Exchange Server 2003.

The most common switch used to repair the damaged Exchange database with Eseutil command is /p. But, before using the Eseutil/p command, there are some points that you need to keep in mind:

  • Both EDB and STM files should reside in the same folder; else you will have to specify the location of STM file explicitly.
  • The hard drive must have sufficient space to store the temporary database files that will be created during the repair process. There should be at least 20%-40% more free space than the size of the damaged database.

Troubleshooting

While using the Eseutil/p command, you might be in the following situations:

  1. STM File is missing
  2. EDB and STM files do not match

If any of these errors occur, you wouldn’t be able to complete the repairing process. So, these issues must be resolved to complete the Exchange database repairing process. Let’s have a look at how you can solve these issues.

STM File is Missing

There primary reason behind this issue is severe database corruption. When this situation occurs, the Eseutil/p command cannot complete the database repairing, and the data cannot be recovered from the damaged database.

However, if you use an appropriate switch with the ESEutil/p command, then you might not face this error again.

Following command can help you repair the damaged database file even if the STM file is missing:

ESEutil /p <db_name>/createstm

EDB and STM Files Do Not Match

There are chances that the synchronization between EDB and STM files get disturbed due to database corruption, and the ESEutil /p command doesn’t even start. It happens because Eseutil utility checks the synchronization between the EDB and STM files before starting the repairing process. If the files are not synchronized, then the repair process ends abruptly.

Once the process stops, you must check whether the files are at the same location or not. If the files are not at the same location, then place them at the same location and restart the repairing process.

However, if the STM file is not matching, you can force the Eseutil /p command to ignore the STM file. Use the below command to repair the damaged database file without including STM file in the repairing process:

ESEutil /p <db_name> /I

Once the Eseutil /p command is executed, you can perform the following process with the Eseutil utility.

  1. Perform a full backup of the repaired database.
  2. Defragment of the database
  3. Repair logical structures within the database

But, there are some drawbacks for Eseutil which include:

  • It cannot repair Exchange database if the corruption level is very high.
  • If the STM file does not match with the EDB file, then using this utility may cause data loss.
  • Not having enough space might hamper the repair process.

Conclusion:

We cannot prevent corruption in Exchange database completely. However, we can take actions to repair the database. Eseutil an Exchange utility to do this. But, if this utility fails to repair the database, consider professional tools.