Summary: The JET_errRecordNotFound error may occur due to various reasons. In this post, we’ve explained the reasons behind this JET error. We’ve also mentioned stepwise instructions to resolve the error by using the Exchange’s native tools. You’ll also find about a reliable Exchange repair tool that can help resolve the error in minimum time and without any data loss.
Exchange Server is dependent on several things. The first thing is the Active Directory Schema, where it gets all the information related to the Active Directory Users and Groups, along with all the mailbox databases and other configuration. Apart from this, to operate and make sure that the databases are healthy and consistent, Exchange Server is dependent on memory and transaction log files. If anything is not working well, a file is missing, or a file/system is corrupted, it will drastically affect the performance and access to the data in the database which could also lead to unusable mailboxes and even data loss.
In this post, we will be discussing the JET_errRecordNotFound, the key was not found error and the possible ways to fix it.
The error “Operation terminated with error -1601 (JET_errRecordNotFound, The key was not found) after 2.354 seconds” is prompted by the Exchange JET system. It usually occurs when the Exchange Admin mounts an Exchange Database and accesses the mailboxes within the database. Although the above error message mentions the error 1601, it may also appear as 1602.
Why does the Error ‘JET_errRecordNotFound, The key was not found’ Occur?
This JET error may occur due to several reasons. Let’s explore a few usual suspects.
- There was a sudden power loss that could have corrupted the transaction log file/s. Due to sudden power loss, the Exchange Server did not get enough time to gracefully shutdown the database.
- A third-party application is blocking access to the transaction log file/s. Usually the culprit would be an application which has been recently installed on the server or an Antivirus which is not application-aware, not compatible with your installed Exchange Server, or not configured well to exclude the data files of Exchange Server.
- Another culprit who could have caused the issue is the lack of storage. If you recently suffered a low disk space issue and the Exchange Server stopped running due to lack of space, during that time until you cleared off the storage, some files might get corrupted.
How to Resolve the Error Operation terminated with error -1601 (JET_errRecordNotFound, The key was not found)?
Follow the below steps to resolve the JET_errRecordNotFound Error:
Step 1: Check the Database State
Check the state of the database by running the EseUtil with the /mh parameter (as given below):
Eseutil /mh <path to the edb file of the database>
If the state of the database is Dirty Shutdown, this means that there is an issue with the database, log files, or other files supporting the database.
Step 2: Restore from Backup
The first instinct is to restore from backup. Keeping in mind that the backup is taken at an application level and the backup software is compatible and aware of your current Exchange Server installation, you can restore from the last healthy backup of your infrastructure.
This will restore all your data and files, and bring the health back as it was on the last healthy backup. What does this mean? This means that the services will be restored but you will lose all the data from the backup until the moment of disaster. Although this is a guaranteed way to restore the services, it is best to use it as the last resort since there is heavy data loss involved. It is to be noted that restoring from backup might take a considerate amount of time, if you are restoring from cloud or other media, depending on the size of your database. You need to also consider the impact on the business.
Step 3: Repair Database Using EseUtil
Before resorting to restoring the database and files from the backup, you can try to repair the database using the native tool – EseUtil. The utility offers two options to repair the database – Soft Recovery and Hard Recovery.
Soft recovery can repair minor damages. You can perform the soft recovery by using the below command:
Eseutil /r e00 /l <path to the log files> /d <path to the edb file of the database>
Hard recovery needs to be used as a last resort and after a backup is taken of the database. The reason being that when hard recovery is executed, data loss is 100% guaranteed as it purges all the data from the database which is deemed as corrupted.
Eseutil /P <path to the edb file of the database>
Things to Consider
- Hard recovery needs a lot of disk space as it creates a new EDB file
- After Hard or Soft Recovery, there is no guarantee that your database will work
- After Hard or Soft Recovery, you need to create a new database and move your mailboxes accordingly to ensure that you have a healthy database
- After hard recovery, you cannot contact Microsoft to support you on the hard recovered database
- The process will take a considerate amount of time
A Reliable Solution to Fix the Error
To avoid data loss and minimize downtime, you can use an Exchange repair tool, such as Stellar Repair for Exchange. By using the software, you can easily retrieve the data from corrupted Exchange databases. You can open EDB files of all versions of Exchange Server and in any health condition.
You can export all or specific mailboxes to PST and other formats. You can also export Public Folders. You can create a new empty mailbox database and export directly from the damaged mailbox database to any Exchange Server with minimal resources and time of recovery. You can easily fix the ‘Operation terminated with error -1601 (JET_errRecordNotFound, The key was not found) error with the help of Stellar Repair for Exchange.