The process that database transactions use is the same process used by all mailbox servers, regardless of whether or not continuous replication has been enabled. Database transactions are operations that prompt a database update. These updates can include operations like sending or receiving an email message, updating a calendar item or creating a new task.
Any time a database transaction occurs, the database page that the transaction is being performed against is read from the database file and copied to an area of the server's memory known as the ESE cache. Any updates to the database resulting from the current transaction are performed within the ESE cache but are not written directly to the database.
Cached database pages that have been updated but not written to disk are referred to as dirty pages. If additional transactions perform operations against dirty pages, then the operation is performed within the ESE cache. In such a case, Exchange uses a mechanism called the version store to make sure the database remains in a consistent state.
Next, the transaction is recorded in a transaction log file. Depending on the size of the transaction, this process may involve closing the current log file and starting another one. Because the log file is only 1 MB, Exchange may consider the excessively large transactions as multiple log files. Each time a log file reaches the 1 MB limit, it is closed and a new log file starts.
When a backup is running against an Exchange server, the contents of the log files are written to the database. At this point, the checkpoint file is advanced so that it references the oldest log file that has not yet been committed to the database.
Sunday, July 12, 2009
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment