Recover EDB from Jet errors
Microsoft Exchange server uses the ESE or Extensible Storage Engine technology known as JETBlue to provide services to users and to concurrently fetch and store data in an indexed or sequential manner. The JETBlue has a crash recovery mechanism in place to ensure data consistency in the event of a system failure or server crash. Jet Errors occur when the Exchange database is corrupted or when there are page level errors in the database. In this article we explain the causes of Jet Errors and describe two methods to recover and convert an EDB file to PST and restore Exchange server data.
What is Jet Error?
A JET error in Exchange is caused by damage to the Exchange server at the hardware or software level, such as a database, file, component or application. There are various types of Jet errors that can occur as a result of missing log files, database page errors, registry errors, using an outdated Exchange server version, sudden or abrupt power failure, and so on.
What are the common Exchange Jet Errors?
Many Jet errors are associated with a specific error code and are most commonly caused by Exchange database issues, log file corruption, or missing log files. The following messages describe some of them.
- 501 JET_errLogFileCorrupt: This error is caused by database corruption due to missing log files. To resolve the error, you must restore the database and log files from a previous backup.
- 528 JET_errMissingLogFile: This error message occurs when changes are made to log files and the original copy is replaced with the modified one. The log files go missing as a result of an unexpected system shutdown while the database is in the write state.
- 1018 JET_err Read VerifyFailure: This error message occurs when there is an incorrect page or checksum number during the database read process or when the database is corrupted due to a hardware failure. To resolve the problem, you must either restore the database from a previous backup or recover the existing database.
- 1019 JET_err Page NotInitialized: This error message occurs due to failed page flush or when a database page is empty due to missing entries or corruption.
- 1022 JET_err DiskIO: This Jet error message can occur when the input and output restricts the Exchange server access to the database from reading or writing values.
- 1206 JET_errDatabaseCorrupted: This error message occurs due to missing or corrupted log files of the database. To resolve the issue, you must repair the corrupted EDB file.
- 1216 JET_errAttachedDatabaseMismatch: The error message is as a result of modified log files.
You might also encounter other types of Jet errors whose causes are hard to diagnose.
- Error: Unable to initialize DAO/Jet db engine.
- JET_errRecordNotFound, the key was not found.
- JET_errInvalidLogSequence,
- The Microsoft Jet database engine cannot open the file '(unknown). It is already opened exclusively by another user, or you need permission to view its data
- The Jet VBA file (VBAJET.dll for 16-bit versions, or VBAJET32.dll for 32-bit versions) failed to initialize when called. Try reinstalling the applications that returned the error.
- The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time.
How to recover Exchange server from Jet Errors?
There are two methods for resolving Jet Errors on an Exchange server. You can use Microsoft built-in Eseutil tool to check the database for errors and remount it. Alternatively, you can use EdbMails Exchange recovery software to recover and convert the EDB file to PST format or migrate your mailboxes directly to a healthy Exchange server.
Recover Exchange server from Jet Errors using Microsoft built-in Eseutil tool
Eseutil, an Exchange server utility, can check the Exchange database for errors before you recover and restore the data. Navigate to the Eseutil folder in your Exchange server directory (C\Program Files\Microsoft\exchsrvr\bin) and perform the following steps.
- Step 1: Dismount the Exchange database file (EDB) from the server
Ensure that the Microsoft Exchange Information Store is running on your machine. Before you dismount the Exchange database file, you need to be assigned the Database role to run the cmdlet. This permission is already assigned for an administrator and you must assign it if another user is performing the operation in your organization. Run the following cmdlet in the Exchange Management Shell (EMS) to assign the management role.
New-ManagementRoleAssignment –role Databases –User JohnDoe
Run the following cmdlet to dismount the database
Dismount-Database -Identity MyDatabase_Name
- Step 2: Launch Eseutil and and check the status of the database
Run the command Eseutil/mh to check if the database state is 'Clean Shutdown' or 'Dirty Shutdown'. If it is in the Clean Shutdown, run the following cmdlet to mount the database.
Mount-Database -Identity MyDatabase_Name
In certain situations, an Exchange database in Clean Shutdown fails to mount due to low storage space on your computer. Follow some common solutions in the link to resolve the problem.
- Step 3: Perform a soft recovery on the database
If the database fails to mount and displays the Dirty Shutdown state, run the cmdlet Eseutil/r to perform a soft recovery. The soft recovery tries to bring the database to the Clean Shutdown state by replaying the missing transaction log files.
- Step 4: Perform a hard recovery on the database
If the log files are missing and if the database is severely corrupted even after the soft recovery, you must perform a hard recovery. Run the cmdlet Eseutil/p if the database remains in the state Dirty Shutdown state. Remember that the hard recovery of an Exchange database results in a permanent data loss if eseutil cannot recover the data.
- Step 5: Defragment the database and check the database status
After you perform both the soft and hard recovery, run the cmdlet Eseutil/d to defragment the database. Next run the cmdlet Eseutil/mh to check the status of the database for Clean or Dirty Shutdown.
- Step 6: Mount the EDB to the server
If eseutil does not display any error message, run the following cmdlet to remount the database.
Mount-Database -Identity MyDatabase_Name
The limitation of the preceding method is that you cannot recover the data if the database is severely corrupted or damaged. Performing a hard recovery might also result in permanent data loss. EdbMails Exchange recovery solution can help you fully recover the EDB file in such cases.
- Step 1: Dismount the Exchange database file (EDB) from the server
Recover Exchange 2019, 2016, 2013, 2010 and 2007 from Jet Errors by using EdbMails
EdbMails Exchange recovery toolkit is a Microsoft partnered tool for recovering corrupted or offline Exchange EDB files and restoring your mailboxes from Jet Engine errors. It enables you to export EDB to a PST file or directly migrate your mailboxes to another Exchange server or Office 365. For instance, if you have a Jet error due to a corrupted EDB file, you can use EdbMails to completely recover the database file and migrate to the latest Exchange server such as 2019. It can also resolve the Dirty Shutdown error of Exchange databases and is a straightforward approach to saving time and money rather than relying on risky manual methods.
Steps to recover Exchange EDB and fix Jet Errors
- Step 1: Download EdbMails Exchange recovery software setup
Download EdbMails and install the application on any computer. You can also perform the recovery and conversion by installing EdbMails on a non-exchange server computer.
Launch the application and click 'Login' or 'Start Your Free Trial'.
Select the migration method as EDB to PST. EDB to Office 365. EDB to Exchange.
See EdbMails system requirements for Exchange recovery and migration and ensure that you have Microsoft Outlook installed on your computer.
- Step 2: Select the offline and corrupted EDB file for recovery
Select the corrupted Exchange EDB file in EdbMails that you want to recover and convert to PST. EdbMails recovers the EDB file from JET errors and displays all your mailboxes where you can preview individual mail items. The application can convert mailbox.edb, pub.edb, priv.edb and STM files.
- Step 3: Select the mailboxes to perform the export or migration operation
Select the mailboxes, folders and mailbox items and click 'Export to Outlook PST'. If you want to migrate the recovered mailboxes to on-premises/Live Exchange server, click ‘Migrate to Live Exchange’. In addition, you can also migrate the EDB to Office 365 tenant from a single interface.
You can apply the advanced filter settings that enable you to select the emails based on Date, Subject, Attachment and so on. The 'Exclude Standard / Custom folders' option enables you to exclude the folders such as Inbox, Sent, Drafts, Custom folders, Junk, Conversation History from the export operation. EdbMails comes with other additional settings such as splitting a PST file during the export and excluding emails whose size is greater than a specified limit.
- Step 4: Verify the mailboxes and add a label to the export job
After you select the mailboxes and folders, you can verify them for export and give the task a name for future reference. This activity enables you to save and use the same settings for future migrations.
- Step 5: Specify the location to save the output file and start the EDB to PST export
Browse the location on your computer and ensure that you have enough disk space to save the PST file. Finally, start the EDB file to PST export operation.. You can pause and resume the operation and view the export details under View Log.
To restore and view all your mailboxes and mail items from the corrupted EDB file, add the exported PST file in Outlook. If you have migrated to an Exchange server, add the domain name and configure the MX records to point to the new server.
The migration and export operation with EdbMails does not cause downtime or data loss unlike the manual method from Eseutil. EdbMails can recover Exchange databases without log files and has built-in filter settings for selecting specific folders, emails, and mail items for export and migration.
- Step 1: Download EdbMails Exchange recovery software setup
Advantages of EdbMails Exchange recovery software
- Recover and convert EDB file without Exchange server.
- Export EDB to PST, HTML, MHT and EML formats.
- Export and migrate Exchange Public folders to Office 365
- Recover EDB file from all types of Jet Errors.
- EdbMails can also export disconnected Exchange mailboxes to PST.
- Facility to split the output PST file during EDB to PST conversion.
- EdbMails supports EDB file recovery from Exchange 2019, 2016, 2013, 2010, 2007 and 2003.
Concluding Words
Though the Exchange server is a robust application for email Exchange and communication, it suffers from Jet Errors that occur due to Exchange database corruption. These error messages are difficult to diagnose and troubleshoot because they are associated with specific error codes and necessitate concrete steps to resolve the problem. Manual recovery methods require extensive scripting knowledge and may fail to recover the data completely. EdbMails Exchange recovery software is a time-saving solution that can resolve Jet error issues without the need for complex cmdlets or technical expertise. It can recover and convert the EDB file to PST and migrate the mailboxes directly from the database file to another Exchange server.