Exchange Server throws "Unable to Mount Database" with error codes hr=0x80004005 and ec=-528 when the database files are in a dirty shutdown state. This happens after unexpected server restarts, storage failures, or incomplete transactions.

The Fix

First, check the database state from Exchange Management Shell:

eseutil /mh "E:\MailboxDatabase\Mailbox Database.edb"

Look for "State: Dirty Shutdown" in the output. If dirty, run soft recovery:

eseutil /r E00 /l "E:\MailboxDatabase" /d "E:\MailboxDatabase"

Replace E00 with your actual log prefix (check your log file names like E0000001.log).

After recovery completes, verify the state changed to "Clean Shutdown":

eseutil /mh "E:\MailboxDatabase\Mailbox Database.edb"

Then mount the database:

Mount-Database "Mailbox Database"

If Soft Recovery Fails

When log files are missing or corrupted, soft recovery won't work. Run hard repair as a last resort:

eseutil /p "E:\MailboxDatabase\Mailbox Database.edb"

After hard repair, rebuild the content index:

Stop-Service MSExchangeFastSearchStop-Service HostControllerServiceRemove-Item "E:\MailboxDatabase\Mailbox Database" -Include ".ci",".dir",".wid",".000",".001","*.002" -RecurseStart-Service MSExchangeFastSearchStart-Service HostControllerService

Hard repair may cause data loss. Run New-MailboxRepairRequest afterward to check for logical corruption.


The ec=-528 code specifically means JET_errMissingLogFile, indicating transaction logs needed for recovery are missing. Always verify your Exchange backups before running hard repair.


IT Services for Nonprofits Pierce County | RainCity Techworks
Budget-friendly IT support for nonprofits in Tacoma & Pierce County. Donor data security and mission-focused technology.