The mailbox
database is the primary component in Exchange Server 2016. Unlike previous
Exchange Server versions, which also contained public folder databases,
Exchange Server 2016 works only with mailbox databases.
Mailbox databases
contain data, data definitions, indexes, checksums, flags, and other
information that constitute mailboxes in Exchange Server 2016. Mailbox
databases hold individual users’ private data, and also contain the mailbox
folders that Exchange Server generates when you create mailboxes for those
users. You can host the mailbox database on a single server, or you can
distribute it across multiple mailbox servers if you have deployed database
availability groups (DAGs).
Exchange Server
2016 stores the mailbox database in a database file, also known as an Exchange
database (.edb) file. In addition to the .edb file, Exchange Server 2016 uses a
set of data files to host and maintain the mailbox database. These files include:
· Mailbox database (.edb file). This is the main repository for
mailbox data. The Extensible Storage Engine (ESE) accesses this file directly.
The .edb file has a B-tree structure that facilitates quick access and enables
users to access data on any page within just one input-output cycle.
· Transaction log (.log file). Exchange Server 2016 records in the
transaction log file each operation that should be performed on a database,
such as sending or receiving a message. These operations are called
transactions. Operations that are committed to the transaction log are later
written to the database itself (in an .edb file). Until the transaction is
committed to the mailbox database, the only existence of this data is in the
random access memory (RAM) and in the transaction logs. Exchange Server logs
all transactions, complete or incomplete, to maintain data integrity in case of
a service interruption. Each database has its own set of transaction logs.
· Checkpoint file (.chk). Checkpoint files store data that
indicate when a transaction is successfully committed to the database. The
purpose of the checkpoint file is to help the ESE replay log files on an
inconsistent database in case of database recovery. By using information from
the checkpoint file, the ESE starts with the transaction that is present in the
log file, but is not yet written to the checkpoint file. Each database’s log
prefix determines its checkpoint file name. For example, the checkpoint file
name for a database with the prefix E00 would be E00.chk. This checkpoint file
is several kilobytes in size and does not increase in size.
· Temporary file (Tmp.edb). This is a temporary location used
for processing transactions. Tmp.edb contains temporary information that is
deleted when all stores in the storage group are dismounted, or the Exchange
Information Store service is stopped. This file does not exceed 1 megabyte
(MB).
· Reserve log files (E##res0001.jrs -
E##res000A.log per database, where ## is the log prefix). These files are reserve space for
additional log files in case the disk that stores log files becomes full.
Exchange Server 2016 only uses these files as emergency storage when the disk
becomes full, and it cannot write new transactions to disk. When Exchange
Server 2016 runs out of disk space, it writes the current transaction to disk,
using up the space reserved by the 10 reserve transaction logs, and then
dismounts the database. The reserved transaction logs ensure minimal loss of
data that is in transit to the database. The reserved transaction logs are
always 1 MB each.
Although it is
important to understand the purpose of each mailbox database file, you will
rarely interact directly with these files. Exchange Server automatically
manages these files, so they do not require administrator intervention, except
in cases of database backup and restore.
No comments:
Post a Comment