Checkpoint files are used to recover data from transaction logs into .edb files. The checkpoint is the place marker within the Edb.chk file that indicates which transactions have been committed. Separate Edb.chk files are maintained by the information store and the directory service. Whenever data is written to an .edb file from the transaction log, the Edb.chk file is updated with information that indicates the transaction was successfully committed to its .edb file.
During the data recovery process, Microsoft Exchange Server determines which transactions have not yet been committed to the respective .edb file by reading the Edb.chk file or by reading the transaction log files directly. Note that the Edb.chk file is not required.
The information store and the directory service each read their Edb.chk file during startup. Any transactions that have not been committed are restored into the .edb files from the transaction logs. For example, if an outage occurs on a Microsoft Exchange Server computer, and transactions have been recorded into the transaction log but not yet to the actual database file, Microsoft Exchange Server attempts to recover this data upon startup by transferring transactions from the logs to the respective database files automatically.