How to Recover Exchange Database when Log files are missing

Author: Ravi Singh | Updated on September 2, 2020

Exchange Server Mailbox Database is the core for any business as it holds all the emails, data containing emails, contact, notes, calendar entries, public folders and more. All these are contained in several files but mainly in the EDB file. There is a misconception that all you need is to keep and backup the EDB. However, the EDB alone is not enough. Although one might see them as just log files, transaction logs are also a crucial part of having a healthy and consistent database. If you have a missing log file or a damaged log file, which has not been committed to the database, will cause issues in your database. For instance, the database will not be able to mount, thus leaving your users furious and unable to work.

Why are logs so important and what is their purpose?

If all the users access the database, it becomes slow with chances of getting corrupted. With Server Memory and transaction logs as a buffer, access to the database will be faster and safe. When data is put in transaction logs and a backup is taken, all the transaction logs are committed to the database.

Taking a proper backup is important as it will commit and purge the transaction logs. Using a normal backup software which is not application-aware, only backup a file system.It is not ideal for an Exchange Server. Apart from unable to backup the database properly, it might also not backup the EDB file, and due to which it might be locked or damage the database itself. If backup doesn't run properly, the transaction logs will keep accumulating until the hard drive is full. If the drive is full, you might end up with a corrupted database.

As you can see, logs play an important role in an Exchange Server. Therefore, it's important to have ample storage space and backup the database with an application-aware software to ensure a healthy and safe backup of your precious data. You can take daily or mid-day backup of the Exchange Server, but accidents and disasters can happen at any time. Being prepared for such occurrenceswith a contingency plan or a disaster recovery plan which is tested on a yearly basis, will bring peace of mind as you know that in case of disaster, people would know how and what to do to restore the services in the minimal time possible.

What happens when a database is inconsistent?

When you unmount the database via PowerShell or the Exchange Admin Console, it will commit all logs and gracefully shut down the database. The database at this stage will be marked as clean shutdown state.

On the other hand, when log files are missing or corrupted, your database will not be able to mount. The database or logs may get damaged due to a third party tool like an antivirus which is not Exchange Server safe, a faulty Windows update, not compatible backup software, sudden loss of power or any other reason. This could hinder the consistency of your database, and it will not mount. Due to this, the state of the database is marked as Dirty Shutdown state.

The state of a database can be checked by using the native tool in Exchange Server called ESEUTIL. When running the below given cmdlet, you will get a lot of information about the database. You must look for important information such as the State and Logs Required.

The State will show you if the database is in clean or dirty shutdown state and the Logs Required will show you any missing or unreadable logs. This is the first indication of why the database is not mounting.

If your database cannot mount and it's in Dirty Shutdown, don't panic as there are ways to recover from such a situation.

Recovering Exchange Database without Log Files

If your log files are mostly of today's backup and not part of yesterday's backup, you need to recover the database in a clean state. ESEUTIL will help to recover the database. However, two things we need to mention here are:

  1. You need to take a backup of the database so that you have a backup of the current data, in case something goes wrong
  2. Although ESEUTIL is a recovery tool, it's not 100% fool proof

To start off, run a soft recovery of the database by using the following ESEUTIL/r parameter:

eseutil /r E06 /lL:\logs /d M:\DB01

When this is complete, you need to check if the database is in CleanShutdown. If yes, you can go ahead and just mount the database. If not, a restore will be out of the question and the only choice is to try with a hard recovery. This can be executed by using the eseutil/p parameter. Before running this command, you might need to consider some facts, such as:

  •  It's not guaranteed that this will fix your database.
  • You must accept the fact of data loss.
  •  If this fails, Microsoft will not provide support because when you run a hard recovery, the database is marked.
  • Microsoft can only provide support, if the database has not been recovered.

If Eseutil fails, you may face the following error messages:

  •  Error -501 (JET_errLogFileCorrupt) – "Log File is Corrupt"
  • Error -514 (JET_errBadLogVersion) – "Log file generated with different Exchange Server or edition"
  •  Error -515 (JET_errInvalidLogSequence) – "Any log file from the sequence is missing"
  • Error -533 (JET_errCheckpointCorrupt) – "Checkpoint file is deleted or corrupt"

Video Tutorial to recover Exchange database without Log files

How can one recover from a disaster with no data loss?

By using Stellar Repair for Exchange, you will be able to recover any Exchange database. The software supports all the Exchange server versions–from 5.5 to the latest 2019. You can add an EDB file to the application and export it to PST and other formats such as EML, HTML, etc. In addition, you can export an EDB file directly to a live Exchange Server database or Office 365 tenant. All this is done in the minimum time, with no administrative effort.

Follow the given steps after you download and install the best EDB repair software.

Free download
  • Open the Application
  • Select the EDB file

  • Select the scan mode -Quick or Extensive
  •  Once ready,you can browse the database and go through all the mailboxes, journals, contact, calendar entries and tasks.

  • Click on the Save button and select PST and then select the destination

As mentioned, if you have an Exchange Server new database, you can simply click on Live Exchange Server and your mailboxes will be automatically matched and imported directly.

88% of people found this article helpful