Exchange EDB Guides

Exchange Database Dirty Shutdown Read the eseutil /mh output, replay the logs and decide what to do if they are gone

Leena Taylor Paul By Updated October 3, 2026 5 min read
Quick Answer

Find the missing logs with eseutil /mh, replay them with eseutil /r, then mount the database again.

If every log in the Log Required and Log Committed ranges is present, soft recovery is safe and loses nothing. If they are gone, you have three choices. Restore from backup. Accept a hard repair that deletes damaged pages. Or copy the mail out of a copy of the file first.

Check the stateeseutil /mh
Logs presenteseutil /r (soft recovery)
Logs missingBackup, offline export or /p

The database will not mount and the event log talks about a dirty shutdown. Nothing is lost yet. Exchange is telling you the .edb file is behind its own transaction logs and refuses to start until they are played in. The order of the fixes matters, because one of them can delete mail. An Exchange database dirty shutdown is fixable in most cases.

What does dirty shutdown mean in Exchange?

Exchange writes every change to a transaction log first and to the database file later. A clean dismount flushes all pending changes into the .edb and marks it Clean Shutdown. When the server loses power, the disk fills or the service is killed, the flush never happens. The file is then marked Dirty Shutdown, also called inconsistent.

After an unclean stop, check the database and its transaction logs before choosing a recovery step.
After an unclean stop, check the database and its transaction logs before choosing a recovery step.

Typical causes we see:

  • Power cut or a host crash under a virtual machine
  • Log drive full, so the database dismounted itself
  • Antivirus or a cleanup script deleting .log files
  • Restoring a virtual machine snapshot taken while mounted
  • Copying the .edb file while the database was still online

How do you check if an Exchange database is in dirty shutdown?

Dismount the database and read its header with eseutil. The database path comes from Get-MailboxDatabase | fl Name,EdbFilePath,LogFolderPath.

eseutil /mh "D:\ExchangeDB\DB01\DB01.edb"

Look at two lines in the output:

State: Dirty Shutdown
Log Required: 4011-4014 (0xfab-0xfae)
Log Committed: 0-4015 (0x0-0xfaf)

The Log Required range names the minimum logs Exchange needs, here 4011 to 4014. Keep the Log Committed logs as well (here up to 4015). Without them the replay drops the last committed changes. In hex that is E00 followed by 00000FAB to 00000FAE. A clean database shows 0-0 in that field.

“Before anyone types eseutil, find the log folder. In most jobs we see, the logs that fix the problem are still on the server.”

Nick Rogers, Founder of Univik

How do you fix dirty shutdown with soft recovery?

Soft recovery replays the required logs into the database. It is the normal fix and it throws nothing away.

  1. Back up first. Put a copy of the database file and its log folder on a second disk. Do this before any command touches them.
  2. Check the logs. Run eseutil /ml against the log prefix, such as E00, to confirm every log in the sequence is healthy.
  3. Replay the logs. Run eseutil /r with the log prefix, the log folder and the database folder.
  4. Confirm the state. Run eseutil /mh again. Clean Shutdown means the database is consistent.
  5. Mount the database. Mount it from the Exchange admin center or with Mount-Database.

The log check and the replay look like this. E00 is the log prefix of the first database. A second database uses E01, a third E02 and so on.

eseutil /ml "D:\ExchangeDB\DB01\Logs\E00"
eseutil /r E00 /l "D:\ExchangeDB\DB01\Logs" /d "D:\ExchangeDB\DB01"

If recovery stops on a missing log, the next section applies.

The /a switch lets recovery finish when the last few logs are missing. Whatever those logs held is lost, so treat it as a last resort and keep your copy.

What if the Exchange log files are missing?

Then the database cannot reach Clean Shutdown without losing something. Pick the option with the least loss.

OptionData lossWhen it fits
Restore from backup and replay later logsNone to littleA recent backup exists
Copy the mail out of a copy firstNone to the original fileNo backup, the mail matters most
eseutil /p hard repairPages it cannot read are deletedServer must come back and the mail is already saved

Our view: never run a hard repair on the only copy. Read our guide on what eseutil /p deletes before you decide.

How do you get mail out of a dirty database without repairing it?

Open a copy of the file in an offline reader. Univik EDB Converter replays logs into a working copy when you give it the log folder. Without logs it repairs that copy instead. When even the repair gives up, it falls back to reading the pages one by one. The original file is never written to.

Univik EDB Converter start screen with an option to open an EDB file together with its log folder
In the app: the second option on the start screen opens the .edb together with its E00 log folder, so the newest mail is replayed into a copy first.

Our own test file was an SBS 2011 mailbox store of 9.1 GB. It was dirty, every log was gone and roughly 32,000 pages were missing. Seven of its nine user mailboxes came back, with 39,561 items in total. The full case is in our SBS 2011 recovery write-up.

Key Takeaways
  • Dirty Shutdown means the .edb is behind its transaction logs, not that mail is gone.
  • eseutil /mh shows the state and the exact Log Required range.
  • eseutil /r replays those logs and is the safe first fix.
  • Missing logs force a choice between backup, an offline copy-out and a hard repair.
  • Never run a hard repair on the only copy of the database.
Save the mail before any repair

Point the trial at a copy of the dirty database and its log folder and see what comes back. It saves 10 messages per folder.

Free Download See all features

Questions about dirty shutdown databases

Replay the logs listed under Log Required with eseutil /r. When eseutil /mh then shows Clean Shutdown, the state is cleared and the database mounts.

Exchange will not mount it. You either restore from backup, run a hard repair that deletes unreadable pages or export the mail from a copy with an offline tool.

It means no logs are needed. The database is consistent and should read Clean Shutdown.

Minutes in most cases, because it only replays the logs in the required range. A large range on slow storage takes longer.

Yes. Every version from Exchange 2000 to Exchange SE uses the same log-first design, so any unclean stop can leave a database dirty.

Not by hand. Logs are removed after a successful full backup or by circular logging. Deleting them yourself is a common cause of databases that cannot recover.
Leena Taylor Paul

Leena Taylor Paul wrote this guide with the Univik team, which has shipped Windows mail tools since 2013. This guide covers diagnosing and fixing Exchange databases left in dirty shutdown. Last checked October 2026. Stuck? Contact our support team.

More Exchange EDB Guides

Every Univik guide for Exchange mailbox databases in one place. Start with the job in front of you.