Read time 7 minutes

Summary: ESEUTIL is the inbuilt command-line utility software that can defragment, repair, and check the health of an Exchange database (EDB) file affected from various causes. When the dirty shutdown error makes the database unstable, then the tool can be utilized to repair it. When it fails to recover mailboxes, then Kernel for Exchange Server tool repairs the database and recover corrupt mailboxes including the deleted data too.

Exchange Server is an email-based communication server used in conjunction with MS Outlook by most organizations to maintain smooth and efficient business communication. Exchange also offers great ease and flexibility to the users to access their mailbox information either using Outlook or Outlook Web Access, as per their needs.

To save the user mailbox information, the MS Exchange information store relies upon Exchange database files (EDB). Sometimes, due to a faulty shutdown, the Exchange may terminate abruptly. The termination may lead to file corruption or loss of access to the database. When the Exchange database is corrupt, it will not mount on the server. When the users try to open a client application like Outlook, they will not be able to access their mailboxes.

The following are the problems that can cause the dirty shutdown error-

  1. When the computer system does not shut down properly, then it may result in dirty shutdown problem.
  2. A severe malware, spyware, or trojan attack on the database may disrupt it from working and left in dirty perhaps.
  3. A hacking attempt on the database may also cause error including dirty shutdown problem.
  4. If the user turned off computer unexpectedly while the Exchange was open or there was an ongoing process, then the dirty shutdown error will occur.
  5. In a rare circumstance, the Exchange Server can crash abruptly.

In such a scenario, the user gets an error message indicating:

blog_Kernel for Exchange Server 2-1002

Some other situations may show same types of errors like the following:

“Operation terminated with error -550 JET_errDatabaseDirtyShutdown, Database was not shutdown cleanly.”

“Exchange is unable to mount the database that you specified database:0f770444-9988-7d33-80009-3718f2f48229;Error Code:MapiExceptionCallfailed:Unable to mount database. (hr=0×80004005, ec=-528).”

What is Dirty Shutdown Error?

dirty shutdown

Exchange Server database is designed on JET engines, in which log files are given a significant role to keep a constant record of input and output operations going in the EDB files. But when these log files are left in the cached memory without being committed to the Information Store, then JET engine term them as DIRTY. And in this incomplete process, if the system is turned off accidentally, it displays dirty shutdown error. If the database is down, inconsistent or unhealthy state, it cannot be mounted again on the server and hence, blocks the data accessibility.

Reason for Dirty Shutdown State

The main reason for dirty shutdown is caused due to the inconsistency in transactions of the transactional log files. The database goes in the dirty shutdown state when EDB or STM files are not properly detached from the transaction log files. Because of this issue, the server is unable to read the transaction logs and hence create transactional discrepancy. And in this situation, when the user tries to open the EDB files, it displays the dirty shutdown error.

Note: A transaction log file is a highly important piece of information for database as it consistently keeps a track of all changes made in the Exchange database. And the changes made on those user mailboxes are first registered in these log files and then to the database. The log files are generated in sequence and helping users to understand the complete log history.

Verify a Clean or Dirty Shutdown State

You may verify whether the database is properly detached from transaction files or not, in order to check it is a clean or dirty shutdown state. To analyze the state of database, follow the below provided steps:

Go to the ‘Start’ button and then type ‘cmd’ in the run textbox and hit enter.

Note: here it is assumed that your Exchange Server is installed at this location ‘c:\program files\exchsrvr folder’ and the database is saved in:‘c:\program files\exchsrvr\mdbdata folder
Now, type the given command, for private folder database file:

blog_Kernel for Exchange Server 2-2911

Type the given command, for public folder database file:

blog_Kernel for Exchange Server 2-2956

Verify the exchange database state, as:

  • In the clean shutdown state, your database is detached properly
  • In the dirty shutdown state, the transactions are not committed to the database
Resolution the dirty shutdown error

In order to resolve the issue of dirty shutdown error, it is required to bring the database back into a clean shutdown state. For this, transactional log files have to be replayed in the database. The solution is definitely complex, and requires running certain commands in the ESEUTIL application for the database repair. The process may seem long and fixes minor glitches only. Follow the below mentioned steps to achieve clean shutdown state using manual technique:

  1. Keep a backup of entire Exchange database files, including log files, private & public folder files and STM files to a secure location on the system. Also, make sure you have sufficient space in your system to perform repairing process. The space required should be a minimum of 1.2 times the size of the Exchange database file.
  2. Use Eseutil, an inbuilt repair utility of Exchange Server to check the consistency of the database. The default location of this free utility provided by Microsoft is – C:\program files\exchsrvr folder\bin\ESEUTIL.
  3. Run the following command on the tool:
    Eseutil/mh “C:\ program files\ exchsrvr\ mdbdata\ priv1.edb”
  4. If the database is affected from dirty shutdown state, then run the following command to perform soft repair on corrupt EDB files:
    Eseutil/rC:\ program files\ exchsrvr\ mdbdata\ priv1.edb
  5. Again, check for database consistency. If the database consistency is OK, remount the database. But, if it is still found in an inconsistent state, then use the following command to perform the hard repair on corrupt EDB files:
    Eseutil/pC:\ program files\ exchsrvr\ mdbdata\ priv1.edb
  6. Defrag the database store to remove empty disk space within it by running this command “Eseutil/ d” on the utility. It arranges the database on the server in this manner.
  7. Lastly, check the integrity of the database by using another utility “Isinteg”. Now run this command line :
    Isinteg –s servername –fix –test alltests
  8. Now, again check the database consistency using Eseutil /mh command as in Step 3. This time the database can be turned out in a clean state.

This was the manual way of fixing Dirty Shutdown state of the Exchange database using the in-built ESEUTIL application provided by Microsoft. However, if you do not achieve the desired results using the manual technique or find the aforementioned technique an arduous task, then try using a reliable Kernel for Exchange Server recovery tool. It is a result-oriented yet friendly-working tool to repair corrupt EDB and STM files within a matter of minutes.

In three simple steps, users can successfully bring the database to a clean shutdown state. Other than dirty shutdown error, this tool can repair corrupt exchange database files; it is capable enough to restore the recovered files to various platforms like live Exchange Server, Outlook, Office365, email server, or webmails in a single attempt.

Kernel for Exchange Server