Exchange online backups
An Exchange backup using the ESE API follows a predictable set of steps:
- The backup utility asks for a list of all the Exchange Server systems.
- The backup utility connects to the specified Exchange Server system and makes a request to back up a particular storage group or database. The ESE API allows simultaneous backup or restore of as many as four storage groups, but you can only back up or restore
one database within each storage group at a time.
- If the ESE online maintenance task is performing maintenance on any databases in the storage group, that maintenance stops.
- ESE flushes any dirty database pages to disk. These pages are those that have been changed but haven't yet been written to the on-disk copy of the database. At this point, the checkpoint is frozen.
- The backup utility opens the first database file to be backed up. On Exchange 2000 and Exchange Server 2003, each individual EDB and STM file is backed up separately. For a full or differential backup, the database header is updated to point to the low anchor log file.
- The backup utility issues repeated calls to read data from the file. It can then write that data using any backup mechanism.
- When the backup tool is finished reading, it closes the database file.
- Steps 3 through 5 are repeated with each additional file in the selected storage group.
- The backup utility opens the first transaction log file for the selected storage group and copies its data, closing the file when done.
- Step 7 is repeated for each additional transaction log in the selected storage group.
- Once all the log files have been backed up, any log files marked for truncation are removed.
- The backup program calls the ESE API to indicate that it's done with the backup.
Sharp-eyed readers will wonder what happens to transactions created while the database is being backed up. The answer might surprise you: they're logged to the transaction logs just as they would be during normal operation. Once the checkpoint is frozen in step 3, additional logs can be generated, but their transactions will not be committed until sometime after the backup completes. This method works because the log files generated while steps 4 through 7 are taking place will themselves be backed up in steps 8 through 10.
Exchange offline backups
Not every Exchange backup is performed using the ESE APIs; it's possible to copy Exchange databases under a variety of other circumstances. By convention, any backup that doesn't use the online backup APIs is called an offline backup. This categorization includes making copies of dismounted databases using xcopy and using various tricky methods to make copies of open database files without closing and dismounting them.
The Microsoft article Offline backup and restoration procedures for Exchange, describes the process that Microsoft recommends for taking offline backups that include the log files necessary to do a complete restoration.
The big downside to offline backups is that they require you to do more manually, which is a concern during disaster recovery operations; more steps mean more possible ways to make mistakes, as well as more time spent performing the steps.
For example, most savvy administrators will run eseutil with the /K switch to check the restored database's integrity; doing so can add significantly to the restore time required. Microsoft's official position is pretty much that anything other than an online backup is an offline backup; this includes point-in-time and replicated copies.
10 tips in 10 minutes: Fundamentals of Exchange Server disaster recovery
Tip 1: Defining Exchange disaster recovery
Tip 2: How Exchange backs up data
Tip 3: Choosing a backup type for Exchange
Tip 4: Online vs. offline Exchange Server backups
Tip 5: Basic Exchange backup and restore
Tip 6: Exchange vendor snapshots and point-in-time copies
Tip 7: VSS for Exchange
Tip 8: Exchange Server replication
Tip 9: Exchange design choices and issues
Tip 10: Exchange disaster recovery planning
This chapter excerpt from the free e-book The Definitive Guide to Exchange Disaster Recovery and Availability, by Paul Robichaux, is printed with permission from Realtimepublishers, Copyright 2005. Click here for the chapter download or download all available chapters here.