In Exchange Server, Extensible Storage Engine (ESE) is an advanced technology for high-performance storage requirements and is also called JET Blue. It is widely referred to as the core of Exchange Server, Windows Search, and Active Directory.

One of the primary and crucial tasks of ESE is to let applications store and fetch data using a sequential or indexed approach. It should be noted that the JET Blue technology is pre-configured with provisions to recover the crashed Exchange database and also serves as a major booster for Exchange Server performance. It has highly concurrent transactions, which is best for the server applications.

Why Exchange Jet Engine Errors Occur?

Microsoft Exchange Jet engine errors are mainly encountered when damage occurs at the file, database, or application level in the Exchange Server. Top reasons for getting ESE errors are:

  • Hardware malfunctioning, like hard drive crashes and power failures, damages the EDB mailboxes that are accessed during the incident.
  • Presence of corruption in critical objects of Exchange database because of variety of registry issues, and software crashes.
  • Missing or deleted Exchange log files.
  • Mismatch between Exchange log file generation number and signature.
  • Incorrect or inconsistent database restoration.

Knowing these reasons allows you to prevent issues like database dismount, Exchange dirty shutdown, and also helps you to avoid or fix Exchange Jet Engine errors.

What are the common Jet Engine Errors in Exchange?

I have been working as an Exchange admin for more than a decade and have seen plenty of Jet Engine errors, the most common ones are:

- 1022 JET_err DiskIO – It occurs when the disk Input/output process restricts Exchange Server to access the targeted page in the Exchange database. More specifically, the 1022 error can be the cause of truncated or damaged file when Exchange Server access page number that exceeds the total number of pages. In the end, the Exchange information store gets corrupted because of inefficient transaction log replay activities.

- 1019 JET_err Page NotInitialized – Such an error occurs when the requested page is either empty or uninitialized in the Exchange database. The root cause for the page unavailability might be the corruption in the file system which subsequently damages the Exchange Server database.

-1018 JET_err Read VerifyFailure – It occurs when incorrect checksum or incorrect page number is encountered during the read page process. Exchange Server finds the checksum value of stored page as different with the final recalculated checksum value at the page read process. In addition, the discrepancies in the physical location of a page leads to mismatch in the page number which ultimately corrupts the Exchange file system.

-501 JET_errLogFileCorrupt – You will see this error when the JET engine detects physical corruption in a transaction log file. Any form of damage in these logs will prevent Exchange from replaying the logs. A sudden power failure or failing sectors on the drive where the log files reside can trigger this error.

-1216 JET_errAttachedDatabaseMismatch – This error is mostly seen during events like database mounting. If the Jet Engine detects a sync failure between the database and its log files, this error occurs. It basically means that the log details do not match the header information in the EDB file. You can fix Exchange Jet Engine errors of this type with a soft recovery.

Fix Exchange Jet Engine Errors with ESEUTIL Switches

MS Exchange Server has an intrinsic command line mechanism to analyze and restore several types of errors and corruptions. All you need to do is just launch the command prompt and specify desired ESEUTIL command according to the requirements. Check out the following commands to repair EDB files.

  • ESEUTIL /c – Helps to recover database after recovering data from backup files.
  • ESEUTIL /m – Allows you to dump the header info of the Exchange database.
  • ESEUTIL /D – Perform offline defragmentation of the Exchange database for removing empty space.
  • ESEUTIL /y – Input the command to execute the copy operation.
  • ESEUTIL /g – Specify the command to perform the integrity inspection of the Exchange database.
  • ESEUTIL /p – Input the command when you want to recover the corrupted Exchange database. After running this command, offline defragmentation of database is required.
  • ESEUTIL /R – Helps to put database into a clean state by replaying logs.
  • ESEUTIL /k – Input the command to initiate the analysis of checksum values.

Resolve Jet Engine Error using eseutil soft recovery (/r)

Step 1: First, dismount the database (if it is mounted and active) using this command:

Dismount-Database -Identity "YourDatabaseName"

Step 2: If you have complete log files, replay them using this command:

eseutil /r <LogPrefix> /l "<LogFolderPath>" /d "<DatabaseFolderPath>"

Step 3: Check the state of the database with this command:

eseutil /mh <DatabaseFolderPath>

If it is in a clean state, your database is healthy again and you can mount it. But if it shows dirty, you must make a hard recovery.

Resolve Jet Engine Error using eseutil hard recovery (/p)

Before moving forward. Let me tell you that this command will delete all the infected pages from the EDB file permanently. Either create a complete backup of your EDB file or for a selective backup use an EDB to PST converter tool.

Step 1: Run eseutil command with /p switch.

eseutil /p <DatabaseFolderPath>

Step 2: After using the /p switch, you must defragment the database with this command:

eseutil /d <DatabaseFolderPath>

Step 3: Finally, perform an integrity check using New-MailboxRepairRequest

Note: If you are using Exchange Server 2010 or earlier versions, use isinteg cmdlet for integrity check.

Step 4: Check for the database state by running:

eseutil /mh <DatabaseFolderPath>

If it is in a clean state, mount it with this command:

Mount-Database -Identity "<DatabaseName>"

What to do If Eseutil Fails to Fix Exchange Jet Engine Errors?

When most of your database header and pages are corrupt, using the eseutil tool will not help but cause permanent data loss. In such a situation, I prefer and recommend using a professional Exchange database recovery tool.

A specialized EDB repair tool is designed to deeply scan each component of the EDB file and repair it from the ground level, bit by bit. Moreover, unlike free eseutil utility, you don’t have to worry about data loss and can view live repair process.

Kernel for Exchange Server is an enterprise-grade repair & recovery tool. It has no file size limitations and accurately recovers all your mailbox items (email, contacts, calendar, etc.) along with original key attributes and folder hierarchy.

How does Exchange Backup Help in Resolving Exchange Jet Engine Errors?

Facilitating the backup mechanism from the Exchange Server can be helpful to save your crucial EDB mailboxes. It is most useful in scenarios when you successfully repair the database with eseutil /p command and are looking for ways to get back your deleted data. You can easily create a complete Exchange database backup using Windows Server Backup with these steps:

  • Open Windows Server Backup, and then select the Local Backup
  • Click the Backup Once… option from the Action pane.
  • Select Different options, and then click the Next
  • The Select Backup Configuration page is displayed.
  • Select the Custom option, and then click the Next
  • The Select Items for Backup page is displayed.
  • Click the Add Items option, and then click OK to attach required volumes.
  • Exclude the desired files or file types by navigating through Advanced Settings Exclusions Add Exclusion.
  • Navigate to VSS Settings tab and select VSS full Backup. Click OK followed by the Next
  • Choose local drives or remote shared folders to save the Exchange backup at the selected destination.
  • In the Confirmation page, inspect the backup settings, and then click the Backup
  • View the current backup process in the Backup Progress page. Check the backup files once the process is executed.

Conclusion

Exchange ESE or Jet Engine is crucial for communication between server and database. Any issue with it will break the communication flow. To prevent it, monitor hardware latency and health, focus on regular VSS backup, and install a powerful antivirus tool. In case of corruption, use ESEUTIL tool to fix Exchange Jet Engine errors and repair the database. But if that doesn’t work immediately, try the Kernel for Exchange Server for complete recovery with minimal data loss.

Live Chat