Share via


File Structure of the Exchange Store

[This is pre-release documentation and subject to change in future releases. This topic's current status is: Writing Not Started.]

You manage the Exchange store by working with its logical components, such as storage groups and databases. However, Microsoft Exchange Server 2007 stores data in a specialized set of data files, such as Exchange database (.edb) files, transaction logging (.log) files, and checkpoint (.chk) files. Unless you are backing up or restoring data, you will rarely interact with these files directly. 

Storage Group Files

Each storage group corresponds to an instance of the Extensible Storage Engine (ESE). On each Exchange server, Exchange 2007 creates data directories for each storage group. The data directory contains the database files for each of the databases in the storage group as well as the log files for the storage group. The following figure illustrates the file structure that corresponds to a specific logical structure as defined in the Exchange Management Console.

Logical structure of the storage groups and databases on a single server and the resulting file structure
Exchange 2007 Storage Groups and Files

Database (.edb) Files

Exchange database (.edb) files are the repository for mailbox data. They are accessed by the ESE directly and have a B-tree structure that is designed for quick access, thereby enabling users to access any page of data within four I/O cycles. The Exchange database is composed of multiple B-trees, with ancillary trees that work with the main tree by holding indexing and views.

Note

Exchange 2007 does not use the stream (.stm) file format that was used in Exchange Server 2003. Data that was formerly divided between .edb and .stm files is now stored only in .edb files.

Log (.log) Files

Exchange 2007 writes operations (such as creating or modifying a message) to a log (.log) file for that database's storage group. Committed transactions are later written to the database itself (in an .edb file). This approach guarantees that all completed and in-progress transactions are logged, so data integrity is maintained in case of a service interruption. The databases in a storage group share a single set of transaction logs that are named with consecutive numbers (for example, E0000000001.log and E0000000002.log).

Checkpoint (.chk) Files

Checkpoint (.chk) files store information that indicates when a transaction is successfully saved to the database files on the hard disk. Exchange 2007 uses checkpoint files to allow an instance of the ESE to automatically replay log files into an inconsistent database when recovering from a service interruption, starting with the next unwritten transaction.

For more information about transaction logging, see Understanding Transaction Logging.

For More Information

For recommendations about configuring storage groups and databases, see Recommendations for Configuring Storage Groups and Databases.