Home » How to Back up and Restore MS Exchange Server Data Offline?
How To

How to Back up and Restore MS Exchange Server Data Offline?

Steps for taking Backup of an Exchange database offline:

Before starting the process, you must know some basic information. Always determine that whether the circular logging is enabled, not for the storage group as it is disabled by default. To check, in Exchange System Manager, open the properties of the storage_group object and view the General page. If you want to disable it, click to clear the Circular Logging check box. Any changes in circular logging do not affect until you stop each database, which is present in the storage group. For offline backups, you do not need to disable circular logging, but you have to disable it, in case you want to replay transaction logs into restored offline backups.

Database Files Relation with each other:

The .edb and .stm files are final archives of the database information. In most of the cases, these two files are used as a single file, and backup restores these files in an order. These files must be synchronized in a proper sequence with each other, as an .edb file, which is backed up on a day, cannot be matched with a .stm file.


Backing Up an Exchange Database Offline

  1. To start backup, select only the data, which you want to backup, do not choose the whole storage group.
  2. Check the database files (.edb and .stm file) whether they are matched with each other. To check, run the below mentioned command against each file:

eseutil /mh database file | find /i “DB Signature”

Always remember that Exchange SP 2 or later versions run the following additional command to determine the state of each database:

eseutil /mh database_name | find /i “Shutdown”

With the match of database signature, the file must also be synchronized and consistent with each other. Run the below mentioned command against each file:

eseutil /mh database file | find /iRun the following Esefile utility command, to verify the page checksums for an Exchange database:  “consistent”

In case the file reports show “State: Inconsistent” or log positions are not synchronized, it means that the database was not cleanly dismounted. Repeat the Mount and dismount process.

1. Copy all the .edb files and its corresponding .stm file to a backup location

2. Now mound the backed up database.

3. You can skip this step, in case circular logging is enabled. If Circular logging is disabled and you wish to ‘roll forward’ later, then take a backup of all numbered transactions log files (The E0nxxxxx.log files). Remember; do not take back up of the E0n.log, Res1.log, and Res2.log files.

When log file has been renamed from E0n.log to E0nxxxxx.log, you can backup numbered log file at any time, as Exchange does not change that file again. Though, follow step 6 instructions to take log files backup.

To see the internal log generation number, run the below mentioned command:

eseutil /ml [log file] | find /i “lGeneration”

Always make sure that your log file backups are fine, because it is the surety of fine database backup. As full recovery from any database backup is dependent on to keeps each and every log file after backup.

4. You do not need to follow this step, if circular logging is enabled. To find out the highest numbered log file, that can be safely deleted, examine the header. The checkpoint keep track of lowest numbered log file that is required for automatic recovery in case the database has stopped suddenly. Restoring an Offline Backup of an Exchange Database

5. To examine the checkpoint file run command: eseutil /mk E0n.chk

6. In case circular login is disabled, log files will gather until they are either removed automatically from the online backup process or deleted manually. And, if it is enabled, there is no need of old log file management as database service automatically deletes old log files after the checkpoint passes through them. After your log file backup, you can now remove numbered log files except checkpoint log.

When you have taken backup of all the numbered log files, you can reclaim disk space by removing all the numbered log files up to, but not including, the checkpoint log.

Note: Do not remove the checkpoint log.

7. This step is optional for you, as it is to verify the page-level integrity of the copied databases. To check, you can use Esefile utility, it is available in the support folder on Service Pack 3 CD-ROM, exchange server 5.5, the Exchange 2000 Server installation CD-ROM, or the Exchange Server 2003 installation CD-ROM. The Esefile utility works for Exchange 2000, and Exchange 2003, .edb files from Exchange Server 5.0 and 5.5.

The .stm file contains raw data, and all the pointers and indexes that organize that data, that is in .edb file. Any problem in .stm file can cause data loss of any specific client, but if structural or logical integrity of the database will effect, it will not compromise.

Run the following Esefile utility command, to verify the page checksums for an Exchange database:

esefile /s database_name

8. This step is also an option for you. You can use the below command to verify the integrity of backed up log files:

eseutil /ml E0n

This command is to check the corruption in the log files, as well as gives warning if log files are missing in the middle. And also check the signature that exists in any log files.

Offline Backup Restoration of an Exchange Database

We explain here two methods to restore an offline backup

1. Point in time: In this type, no log file will be displayed into database, and the data created after backup will be lost. Remember that all the stopped database in the storage group must be consistent with a valid checkpoint file. Do not delete the current checkpoint file or any existing log files.

2. Roll forward: In this type, the log files will be played into the database. As all log files are available so you can preserve data, which was created after the backup. Remember that all the databases in the storage group must be stopped and consistent, log files that were created after backup must exist (including the current E0n.log). The checkpoint file must be deleted.

If circular logging is enabled you cannot choose ‘roll forward’ restoration and have to perform ‘point in time’ restoration.

Point in Time Restoration of an Offline Backup

1. Dismount the database, which you want to restore. All the dismounted database and streaming files (.edb and .stm) must be matched and consistent with a valid checkpoint file existence.

Run the flowing commands to verify the checkpoint file when all the databases are stopped:

eseutil /mk E0n.chk | FIND /i “checkpoint”

eseutil /ml E0n.log | FIND /i “lgeneration”

2. Copy .stm and .edb files to the correct streaming and database file locations, and check whether the restoRun the following Esefile utility command, to verify the page checksums for an Exchange database: red files are matched and consistent.

3. Now mount the restored database that attaches itself to the end of the E0n.log file.

Start the Restoration process of an Offline Backup

Things to remember into a restored database for successful replaying log files:

  • Keep a copy of all transaction logs of your oldest full backup
  • Without making a new complete backup, do not change the data path
  • Do not remove or add data storage group without making a full backup of all the databases in the storage group

Restoration Process:

1. Dismount the database and copy it to the correct paths on the server. If there is any copy of the same database file available in the server, delete them before restart.

2. Dismount the databases available in the storage group, and run the below mentioned command against each database, and against each restored database file:

eseutil /mh database_file_name | find /i “consistent”

3. Make sure that the log signature of each database header must be matched with the low anchor log signature, you can check it by running the following command:

eseutil /mh database_name | find /i “Log Signature”

eseutil /ml low_anchor_log | find /i “Signature”

A log file may be consist with numerous signatures, the first will always be the its original signature. All rest signatures are databases, which were at the running condition when file was created

4. Make sure, that the path of current database path locations must be same as they were at the time of backup To verify you can run the following commands

eseutil /ml “Last_Consistent”_log | find /i “database name or pattern”

5. Collect all the logs, from the low anchor number in proper sequence, and copy them to current transaction logs path. Do not overwrite logs, which are already in the place on the server, back them up and then copy. To do this, you have to restore log files from more than one type of backup media.

6. Make sure that all the logs must share the same log signature in a proper sequence. Run the following command:

eseutil /ml E0n > filename.txt

7. In case the high anchor log is not named E0n.log, rename it

8. Delete the file E0n.chk from the System Path folder

9. Verify the following things before you mount the storage group

  • All DB files are available in their running path
  • Running log files must be those files, which start from low anchor log and continue at least to the high anchor log. The higher available log name must be E0n.log.
  • There must be no E0n.chk file present in the System Path folder.

11. In case the information saved in not running, start it, and mount at least one database in the storage group. This allows soft recovery to run against the entire database present in the storage group.

In case your backup file is corrupt and you are unable to restore it, you can use some professional tools to repair your corrupt Exchange bkf file. These tools are specially designed to repair corrupt backup files and to recover the important exchange data from the files. As these software provides a very easy user interface and are designed for every user and one can easily recover his backup files from them. You just need to download and install the software, and follow the given steps to recover all the backup files with fast algorithms.

About the author

Eric Simson

Eric Simson who is working as a Technical Content Writer with Stellar Information Technology Pvt Ltd.


Click here to post a comment

All the data shown above will be stored by Techtricksworld.com on https://www.techtricksworld.com. At any point of time, you can contact us and select the data you wish to anonymise or delete so it cannot be linked to your email address any longer. When your data is anonymised or deleted, you will receive an email confirmation. We also use cookies and/or similar technologies to analyse customer behaviour, administer the website, track users' movements, and to collect information about users. This is done in order to personalise and enhance your experience with us.

  • Nice sharing Erik, indeed backup of data is most important because computer is a machine and you can’t trust it as any time your data can be lost.

    The method you described above is just awesome and I was searching for it since long and landed on your blog.

    Thanks, keep sharing awesome articles 🙂

  • Hi Eric Simson,

    This is very interesting post at how to back up and restore MS exchange server data offline?. I loved your ways how you shared everything step by step. I will share this post with my followers, hope they will love it.

    Thanks to share this useful post with us.

    Keep up your good work!

    Have a nice day!


Pin It on Pinterest