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
- 344 – JET_errDbTimeCorrupted (Time Mismatch Error)
This error appears when there is a time mismatch between the DB and the directory. - 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. - 510 – JET_errLogWriteFail
- 528 – JET_errMissingLogFile
- 543 – JET_errRequiredLogFilesMissing
- 550 – JET_errDatabaseDirtyShutdown
This error appears when the Administrator modifies logs or loses the I/O flush on shutdown. - 551 – JET_errConsistentTimeMismatch
- 567 – JET_errDbTimeTooNew
- 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. - 1019 – JET_errPageNotInitialized
This error appears when the requested page is empty or uninitialized in the Exchange Database. - 1021 – JET_errDiskReadVerificationFailure
This error appears due to bad blocks on the hard disk. - 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. - 1032 (JET_errFileAccessDenied, cannot access file, the file is locked or in use)
- 1206 – JET_errDatabaseCorrupted
- 1216 – JET_errAttachedDatabaseMismatch
- 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. - 1605 – JET_errKeyDuplicate
This error appears due to index corruption. - 1811
This error appears when the Administrator modifies logs or loses the I/O flush on shutdown. - 0xfffffdfd – JET_errInvalidLogSequence
This error appears due to missing log files or log file mismatch. - JET_errFileAccessDenied (Anti-Virus)
- Dirty Shutdown State
- Unable to mount database
- 1056749110 error
- Unable to initialize Exchange Information Store Service –Error 0x8004010F
- Inconsistent or missing log files
- Low or no disk space
- Licensing
- Database mount error: (hr=0x80004005, ec=-501)
- 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. - 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
- Time-consuming process
- Incorrect execution of commands
- Permanently deleted data gets recovered
- Requires much space
- Demands technical skills and expertise to execute the commands
This error appears because the disk subsystem lost an I/O, most probably during a hang or unscheduled shutdown.
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.
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
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.