logo logo

Exchange 2010 Mailbox Databases are Corrupt

Problem:

Exchange is down, mailboxes show dismounted, event viewer show a ton of logs including

  • Event ID 9519, The following error occurred while starting database <database name>: Log file is corrupt.
  • Event ID 477, The log range read from the file “<log location>” at offset <> for <> bytes failed verification due to a range checksum mismatch

Cause: This can occur when one of the log files becomes corrupt. The corruption can be caused by a hard shutdown or a sudden loss of power.

Solution:

THIS SOLUTION MAY CAUSE SOME DATA LOSS. PROCEED WITH CAUTION.

Exchange 2010 Instructions

Verify that the database(s) are unmounted in the Exchange Management Console

Open an elevated command prompt

  1. Run ESEUTIL /mh "<full path of the .edb file for the database>"
    1. This should produce a lengthy output. Look for and note the following entries.

      • State: Mostly likely this will say dirty
      • Log Committed:
      • Log Required:
  2. Browse to the edb file location
    • Find the log required noted above. We can assume that any data from this “Date Modified” and forward is going to be lost
  3. Shutdown any exchange services and copy the database folder to another location for a backup
  4. Run ESEUTIL /p "<full path of the .edb file for the database>"
    1. Click Yes to proceed understanding that data loss is possible
  5. Run ESEUTIL /D "<full path of the .edb file for the database>"
  6. Run ESEUTIL /mh "<full path of the .edb file for the database>"
    1. Verify state now says Clean Shutdown
  7. Browse to the edb file location and move any *.log files into a subfolder called old log files
  8. Start Exchange Services
  9. Open Exchange Management Console and mount the database
  10. Immediately begin a backup of this data
bottom