Reasons for Exchange Database Corruption & How to Get Rid of It

This blog discusses the various reasons for the corruption, damage, or inaccessibility of the Microsoft Exchange Server database and the methods for overcoming this situation.

Reasons for Exchange Database Corruption

Let’s first discuss the possible reasons for the corruption of Exchange Server database EDB files. At a very high level, the reasons for damaging Exchange EDB files can be categorized into two categories: corruption due to physical errors and logical errors.

Physical Corruption

  • Hardware failures include hard drives, raid controllers, motherboards, and other components.
  • Disk failure
  • Loss of power/power outage
  • VM / Physical Server rebooted

Logical Corruption

  • Invalid index entries
  • Cross-object chain linkage
  • Corruption in the file header
  • Corruption in access control levels
  • A mismatch between the Exchange log file generation number and signature
  • Incorrect data restoration in the Exchange database

Common Exchange Server EDB file Errors

  • JET Engine Errors
  1. 344 – JET_errDbTimeCorrupted (Time Mismatch Error)
    This error appears when there is a time mismatch between the DB and the directory.
  2. 501 – JET_errLogFileCorrupt
    This error appears when the hardware corrupts the I/O when writing or when the hardware loses a flush, making the log unusable.
  3. 510 – JET_errLogWriteFail
  4. 528 – JET_errMissingLogFile
  5. 543 – JET_errRequiredLogFilesMissing
  6. 550 – JET_errDatabaseDirtyShutdown
    This error appears when the Administrator modifies logs or loses the I/O flush on shutdown.
  7. 551 – JET_errConsistentTimeMismatch
  8. 567 – JET_errDbTimeTooNew
  9. This error appears because the disk subsystem lost an I/O, most probably during a hang or unscheduled shutdown.

  10. 1018 -JET_errReadVerifyFailure
    One encounters such an error during page-level corruption in Exchange EDB files that cannot be repaired with the inbuilt Exchange Server utility. It also occurs during the creation of an online backup, i.e., a cloud backup.
  11. 1019 – JET_errPageNotInitialized
    This error appears when the requested page is empty or uninitialized in the Exchange Database.
  12. 1021 – JET_errDiskReadVerificationFailure
    This error appears due to bad blocks on the hard disk.
  13. 1022 – JET_errDiskIO
    This error appears when the disk Input/Output process restricts the Exchange Server’s access to the targeted page in the Exchange database.
  14. 1032 (JET_errFileAccessDenied, cannot access file, the file is locked or in use)
  15. JET_errFileAccessDenied

  16. 1206 – JET_errDatabaseCorrupted
  17. 1216 – JET_errAttachedDatabaseMismatch
  18. JET_errAttachedDatabaseMismatch

  19. 1601 – JET_errRecordNotFound
    This error appears when the STM and EDB files have different structures or when the Exchange Database EDB file has severe corruption.
  20. 1605 – JET_errKeyDuplicate
    This error appears due to index corruption.
  21. 1811
    This error appears when the Administrator modifies logs or loses the I/O flush on shutdown.
  22. 0xfffffdfd – JET_errInvalidLogSequence
    This error appears due to missing log files or log file mismatch.
  23. JET_errFileAccessDenied (Anti-Virus)
    • Dirty Shutdown State
    • Unable to mount database
    • mount database

    • 1056749110 error
    • Unable to initialize Exchange Information Store Service –Error 0x8004010F
    • This error appears when the Information Store fails to initialize. This error disfunctions the smooth functionality of the Exchange Server.
      Error 0x8004010F appears when a synchronization issue occurs between the clocks on the Server system and the client system.

      Outlook send/Receive progress

    • Inconsistent or missing log files
    • Low or no disk space
    • Licensing
    • Database mount error: (hr=0x80004005, ec=-501)
    • Failed to mount database "Mailbox Database"

    • Time mismatch in the DB compared to the directory. (Unable to mount database. (hr=0x80004005, ec=-344))
      This error occurs when there is a time mismatch between the DB and the directory.
    • Exchange Error 1056749110
      This error appears when corrupt items are present in the mailbox.
    • Machine :xptest

    • Permission Issue
    • Anti-Virus
    • The exchange database won’t mount (Cannot see Active Directory)
    • SMTP Virtual Server and Connector Configuration
    • Dirty Shutdown issue
    • The Exchange Server reached its Limit (16 GB)
    • Minor Corruption

    Manual Methods to Resolve the Exchange Server Database Errors

    Exchange Server Database Utility (ESEUTIL)

    It is an inbuilt utility that supports repairing Exchange Server 2007, 2010, and 2013 versions. It is an executable utility that repairs all the errors in Exchange mailboxes, public folders and transport server queue databases.

    ESEUTIL/p mode auto corrects the damaged Exchange EDB files at page or table level, not in application level.
    Syntax – ESEUTIL/P databasefilename. edb

    Limitations with ESEUTIL

    • Time-consuming process
    • Incorrect execution of commands
    • Permanently deleted data gets recovered
    • Requires much space
    • Demands technical skills and expertise to execute the commands

    Professional third-party EDB to PST Converter

    Since the manual method to repair corrupted EDB files has some limitations, we recommend that our users use a third-party EDB to PST Converter software to repair corrupted EDB files and restore the Exchange mailboxes on the server. The EDB to PST Converter restores mailboxes on the Live Exchange Server and resumes mailbox connectivity lost due to the dismounted Exchange mailbox database. Use EDB to PST Converter to backup Exchange Server data to Office365 account.

    Conclusion

    Let us try to determine the reasons that cause the Exchange database to be corrupted, damaged, or inaccessible. To resolve this, users can try the manual method explained, but it has some limitations. We suggest our users use third-party EDB to PST Converter software to restore mailboxes on the Exchange Server.

edb-to-pst-converter edb-to-pst-converter