Exchange backup and restore transaction logs and checkpoint files



Sponsored by Stellar Data Recovery

In addition to the Exchange database, Exchange Server also creates a variety of transaction logs and checkpoint files for each database to maintain integrity, ensure optimal performance, and protect the database from inconsistency problems. In this guide, we discuss the transaction logs and checkpoint files, what they mean, and how these logs and files are used for backup and recovery in Exchange Server.

Transaction logs

Exchange servers use the write-ahead model to protect data. It records all transactions or operations and changes made to the database file (.edb) in transaction logs (.log files). These transactions are then committed to the in-memory copy of the Exchange database to update the changes. However, an incomplete transaction is never committed in the database.

The transaction logs help the Exchange Server to restore or roll back the database after a database failure. The logs also back up the data that was created after the last backup.

For example, if your current database or the storage media on which the database files are stored fails, you can restore the database copy from your last backup and then use the transaction logs accumulated between your last backup and the database failure to restore the data.

However, this requires that you use two separate disk volumes to store the database files, transaction logs, and checkpoint files.

Ideally, you should only have one database on each disk volume and its transaction logs and checkpoint files on a different disk volume.

Saving the database and transaction logs with checkpoint files separately on two different hard drives or RAID arrays helps ensure optimal server performance. This type of setup is highly recommended for a stand-alone Exchange server.

In the case of an Exchange high availability (DAG) environment consisting of two or more Exchange servers, you can store the database, transaction logs, and checkpoint files on the same disk volume. In a DAG environment, recovery occurs automatically if a database, server, or network failure occurs. However, it is recommended that no more than two databases and their log / checkpoint files be stored on the same volume.

However, over time, log files can accumulate and consume a large amount of server memory. You can enable circular logging to automatically delete the logs after they have been added to the database. You can also perform or schedule automatic VSS backups to automatically delete these logs.

Checkpoint files

The checkpoint (.chk) Files record all transaction logs that are either pending or already committed to the Exchange database file. The files also help restore the Exchange database from an inconsistent state caused by system errors or database corruption.

The checkpoint files help Exchange Server find the current location of the transaction log file and know which transactions are being committed to the database. Exchange Server then transfers the pending transactions that occurred after the checkpoint file to the mailbox database. It can also help reduce the time it takes to restore the database in the event of a database or server failure, by reducing the number of transactions required to replay in the database.

How transaction logs and checkpoint files help restore the Exchange database

Transaction logs and checkpoint files can help with the recovery of the Exchange database (conceptually) after a system crash or when the database is dismounted due to inconsistencies or errors. However, this is a tedious task and requires a certain amount of specialist knowledge. To restore the Exchange database using transaction logs and checkpoint files, you can perform a soft restore through Eseutil. If soft recovery does not work, you can perform hard recovery.

The Eseutil utility is located in the EXCHSRVRBIN directory.

Steps to Perform a Gentle Recovery

Soft recovery can help restore an unmounted database from an inconsistent or dirty shutdown state caused by a server crash or abrupt shutdown to a clean shutdown state. After the recovery, administrators can mount the database and restore mailbox connectivity without major problems. It also helps to restore the database if log files are missing. Follow the steps below to perform software recovery:

Step 1: Find the database status

Check the current database status with the following command:


Exchange backup

If you see a Dirty Shutdown status, continue with the following steps.

Step 2: review the log files

Run the following PowerShell command to verify that the required log files are in a healthy state:

Eseutil /ml “Path of the log fileslog prefix”

Eseutil /ml “C:Program FilesMicrosoftExchange ServerV15MailboxlogsE0000000037”

Step 3: Run the Soft Recovery Command

If the log files are found to be in a healthy state, you can use the following PowerShell command to perform soft restore. This will replay the uncommitted transaction logs and restore the database to a clean state. Using the checkpoint file in the command reduces the recovery time. However, you can run the command with the / s parameter.

ESEUTIL /r  /l [path to log files] /s [path to checkpoint file] /d [path to database file] /i

ESEUTIL /r E0000000037 /l “C:Program FilesMicrosoftExchange ServerV15Mailboxlogs” /d “E:MailboxDBDB01”

After this command runs successfully, you can use the eseutil / mh Command, and then mount the database using the Mount-MailboxDatabase cmdlet.

Mount-MailboxDatabase –identity

Steps to Perform a Hard Recovery

Hard recovery is required when the log files are damaged, missing, or deleted from their location. However, the hard recovery results in data loss as it erases everything that is considered damaged or unrecoverable. Hence, you should do this as a last resort.

Run the following Eseutil command to start hard recovery:


click OK to accept the risk.

Then defragment the database using the following command.


Here / T is the temporary UNC path.

Finally, run the IsInteg tool (in versions of Exchange earlier than 2010 SP1). New-MailboxRepairRequest replaces the IsInteg in Exchange 2010 SP1 and higher versions. The tool is located below C: Program Files Microsoft Exchange Server Bin Location of the folder.

Isinteg –s  -fix –test alltests

Repeat the command to clear all errors.


There is no guarantee that soft recovery or hard recovery will be able to put your database into a clean shutdown state. However, if it does, you should immediately create a new database and move the mailboxes from the restored database to the new database.

However, if you don’t want to risk data loss and need to restore and restore the Exchange database, you can use a third-party Exchange recovery software like Stellar Repair for Exchange. It is a GUI-based tool that helps Exchange administrators quickly recover mailboxes from corrupted or damaged databases. The software can export the recovered mailboxes to PST and other formats, or export them directly to a database on a live Exchange server (in the same forest) or Office 365. It helps restore the critical email services that have been halted by database inconsistencies and corruption without the transaction logs and checkpoint file. Even if the transaction logs are missing or truncated due to circular logging, you can recover and restore mailboxes without impacting server performance or setting up a new Exchange server.

With Stellar Repair for Exchange, you can restore your mailbox databases with less effort and fewer resources, and ultimately get your business back up and running in no time.

Featured image: Freepik / Abstract vector created by Vectorjuice

Post views:

Ezoicreport this ad



Leave A Reply