Microsoft Exchange employs "write-ahead" logging to improve performance. As transactions occur, they are appended to a transaction log. Transactions are committed to the database when resources permit. A checkpoint file (E0n.CHK) tracks the location of the last transaction in the log files that has been successfully committed to the database. Transaction logs can be used to roll forward a database to achieve a point-of-failure recovery.