Starting with the basics |
 |
By Jerry Cochran
01 Nov 2004 | SearchExchange.com |
 |


|
The following is tip #5 from "20 tips on protecting and recovering Exchange data in 20
minutes," excerpted from the book, "Mission Critical Microsoft Exchange 2003" (Digital
Press, a division of Elsevier, Copyright 2004). For more information about this book and
other computing titles, please click here.
Return to the main page for
more tips on this topic.
The Exchange database engine is known as the Extensible Storage Engine or ESE.
ESE is a transacted storage engine that leverages write-ahead logging technology to perform
transacted operations against a database or databases that are structured in a
Microsoft-implemented B+Tree format.
With a write-ahead logging database engine, write operations to the database are first
written to the transaction logs and then to database pages cached in memory (called IS
buffers). These write operations are later written to disk asynchronously in an optimal
manner designed to batch these operations such that disk I/O performance is maximized. As
transactions are commit¬ted to the database on disk, a database checkpoint (maintained in
the EDB.CHK file) is advanced to reference the current point in the current transaction log
file of the last transaction that was committed to the data¬base. ESE uses discrete log files
that are 5 MB in size and generationally sequenced. As transactions are written to the log
files, once the log file reaches 5 MB in size, it is closed and a new log file is open (the
current log file is always E0n.LOG -- where n signifies the storage group
instance to which the log file belongs). This implementation provides high performance and
maximum reliability expected from a transacted database engine.
ESE was also designed to allow the databases to be backed up while the server was on-line
servicing users. These means that Microsoft had to devise a method where the databases could
be stored to a backup set while they are mounted and transactions are being committed. For
this purpose, the ESE backup API was designed. In Exchange 2000/2003 the backup API is
implemented in two DLLs -- ESEBACK2.DLL and ESEBCLI2.DLL -- that allow backup applications
to interface with the database engine to perform on-line backup and restore operations for
Exchange. In the following discussions, the ESE backup API calls will be referenced as we
step through the backup operation for Exchange Server. As an interesting side note, Windows
AD is also based on ESE, and backup operations and API calls used for backup and restore are
very similar to those discussed next.
Get more "20 tips on protecting and recovering Exchange data in 20 minutes". Return
to the main
page.
About the author: Jerry Cochran is a contributing editor for Windows IT
Pro and Exchange & Outlook Administrator and a group program manager for
Microsoft. He is the author of Mission-Critical Microsoft Exchange 2000 (Digital
Press).
');
// -->
|