How do I use
EXMERGE to make Brick-Level backups of Exchange 2000/2003 mailboxes?
One of the most important
tasks for an Exchange administrator is the
regular, day-by-day, backing up of all the
Exchange databases. This can be easily
accomplished by use of the built-in NTBACKUP.EXE
software found on your Exchange 2000/2003
server.
Note: You can also
Backup Exchange 2000/2003 from a Non-Exchange
Server.
Some administrators might
choose to your 3rd-Party backup tools, such as:
However, as stated above (and
in the Backing
up Exchange 2000/2003 with NTBACKUP article), you do NOT need to buy
expensive 3rd-Party tools just to backup your
Exchange server.
Daniel Petri's Exchange Server Recommendations |
rodID=86"> |
By the way, if you are looking to really master
rodID=86">Exchange Server 2007 I strongly recommend the training videos at
rodID=86">Train Signal.
I receive hundreds of emails a month asking for my "recommendation for
IT training" and I like to send people their way because the training
is so good. I have used and reviewed A LOT of training products over
the years and none of them come close to matching the quality or amount
of detail found in Train Signal's courses. Read more (and watch a
demo!) on their
rodID=86">Exchange Server 2007 Training.
Daniel Petri |
Then why bother with
expensive 3rd-Party backup tools? The main
reasons behind the usage of such tools are their
advanced scheduling capabilities, advanced tape
drive management, and in some cases - the
ability to perform Brick-Level backups of your
Exchange mailboxes.
What
is Brick-Level Mailbox backup?
Brick-Level mailbox backup is
a method in which the backup program logs on
into each mailbox on the store (by using MAPI,
just like Outlook does) and then backs-up the
contents of the mailboxes to the tape device.
Each mailbox is backed up individually, and thus
restoring a specific mailbox in case it has been
deleted and purged from the database is easier
than before.
Note: Read
Recover
a Deleted Mailbox for more info on how to
restore a mailbox that has not been purged from
the database.
Not every
3rd-Party backup software does Brick-Level
backups, as stated in
one of the vendor's website: The main
reasons for the lack of Brick-Level support are
that a Brick-Level backup is not designed to
fully protect an Exchange server, just one
mailbox at a time. It is not an alternative to a
monolithic (full) backup/restore. A Brick-Level
restore cannot be used to recover the
Information Store after a disaster. If used, a
Brick-Level backup must be utilized in
conjunction with a monolithic backup in order to
fully protect the server.
In order for
any 3rd-party backup software to be able to do
Brick-Level backups, the product would have to
backup multiple copies of the same message. In
other words, it would have to change the
Exchange Single Instance architecture database.
Removing the Single Instance architecture is
possible but it would mean longer backup time
and greater tape usage.
Single Instance
architecture is a method used by Exchange to
reduce the size of the database and also to
minimize disk space fluctuation when users read
and delete their mail messages. A case in point
is that when a message is being sent to 100
users. If all 100 users were on the same server,
then Exchange would store only a single copy in
the database, but would create a pointer in each
of the 100 mailboxes that the message was being
sent. When the user reads and deletes the mail
message, only the pointer is deleted. Without
the Single Instance architecture, 100 copies of
the message would have to be created. More
importantly is that when the users read and
delete the message, it creates tremendous disk
usage fluctuation.
The problem
with Single Instance architecture is that when
you restore a user's mailbox, you are only
restoring the pointer. Hence, you need to
restore the complete database so that mailbox
pointer would work. In order to restore a user
mailbox, Exchange would have to restore all
messages found on each of the mailbox pointers.
That is very difficult using tape technology. To
accomplish a complete mailbox restore, the
backup software would have to remove the Single
Instance architecture by replacing the pointer
with the message. This requires more time for
the backup and also more tapes are used.
Furthermore, by replacing the Single Instance
architecture, what happens if one needs to
restore the whole database? Will the Single
Instance Architecture be maintained?
As noted above,
Brick-Level backup capabilities rely on MAPI to
access each mailbox to re-create all of the
mailbox data in the message store. Performance
can be as slow as 8MB/min. If studies are to be
believed, each message is sent to an average of
4 users. Therefore, the size of the resulting
data-file (it's not an information store) would
increase dramatically because the notion of a
single-instance does not apply. For example,
using the 4:1 ratio, a 30GB Information Store
could end up occupying 120GB on 3-4 tapes
(assuming 40GB tapes). And that is in addition
to the monolithic backups done for disaster
recovery!
As you might
guess, Brick-Level backups and restores can
easily get out of proportion, both in time for
the backups to take place, and in space once the
database is restored. (An Exchange database that
was backed up Brick-Level, when restored, could
be about 4 times larger than it was originally!)
I
still want to use Brick-Level backup. How do I
do that?
Sometimes backing up one or 2
mailboxes via the
Brick-Level backup
method is still a welcome option, especially in
cases where these mailboxes belong to users that
have a tendency to mess things up, and
especially when they are your boss, and they do
not know the meaning of the word "NO!". :-)
You can still do
Brick-Level
backups of specific mailboxes by using a tool
called EXMERGE.
We can utilize the power of EXMERGE to
backup any mailbox on any server (you can also
do it remotely) and you can easily schedule it
to run at a specific interval.
Perquisites
First, you need
to obtain the correct version of EXMERGE for
your Exchange server. EXMERGE first shipped with
the Exchange 5.5 Resource Kit and the most
recent version can be obtained from the latest
Exchange 2000 Service Pack (SP3) and Exchange
Server 2003 installation CD.
-
Exchange 5.5 (v3.3.10) (1.4 mb)
- You need to extract and use the tool, don't
mind the rest of the stuff.
-
Exchange 2000 (v6.0.4400) ( 528 kb)
- This is the older E2K Resource Kit version.
It's best that you obtain the version that came
with Exchange 2000 Service Pack 3 (v6.0.6249 -
Get it from HERE if you must).
-
Exchange Server 2003 (v6.5.7082) (423 kb)
- (You can
also get it from
HERE if
you must).
Note: To write this
article I've used Exchange Server 2003 and the latest version of EXMERGE, however
the procedure is quite the same with previous
versions.
After downloading the correct
version of EXMERGE, extract the files found in
it by using tools like WinZip or WinRAR. You
will now need to copy EXMERGE.EXE to the
%Program Files%\Exchsrvr\bin folder of your
Exchange server.
Next, you need to configure
your user account to have full mailbox rights
for the specific mailbox/mailboxes that you want
to open. On Exchange 2000/2003 the Exchange Full
Administrator permissions does NOT, by default,
allow you to open any other user's mailbox.
The above screenshot is an
example of EXMERGE failure due to poorly
configured permissions. Read
Grant Full Mailbox Rights to an Administrator on
Exchange 2000/2003 for more info.
Configuring EXMERGE
To perform Brick-Level backups
of
one or more mailboxes found on one Exchange
server follow these steps:
- Navigate to the %Program
Files%\Exchsrvr\bin folder of your Exchange
server and double-click EXMERGE.EXE.
- On the Welcome page click
Next.
- On the “Procedure
Selection” dialogue box, select “Export or
Import (Two Step Procedure)”.
- On the “Two Step
Procedure” dialogue box, select “Step 1:
Extract data from and Exchange Server
Mailbox”.
- In the “Source
Server” dialogue box specify the name of
your Exchange server. If you have a multiple
domain environment you'll need to specify
the name and LDAP port number of your Domain
Controller. Click Next.
- In the “Database
Selection” dialogue box select the mailbox
store you want to perform the action upon.
Note: In a scenario
where you only have one mailbox store you
will not be presented with this page.
Click Next.
- In the
“Mailbox Selection” dialogue box select
individual mailboxes or press the “Select
All” button to select all mailboxes found in
that store. In this example I will only
select one mailbox. Note that you can also
see the mailbox size next to the mailbox
name.
Click Next.
- On the “Locale Selection”
dialogue box select the Locale that you
would like to use to search the mailboxes.
Hebrew users note:
To successfully utilize the power of EXMERGE
when using Hebrew enabled servers with
Hebrew-titled items and mailbox names you
MUST follow the next tip:
EXMERGE and Hebrew Fonts. Failing to do
so might cause great damage to your
exported mailboxes and to the names and titles of
items within those mailboxes. Failing to do
so will not harm the items that are in the
original mailboxes, however items that were
exported to the .PST files might turn out to
be illegible.
Click Next.
- Specify the path to the
folder where you want to place the .PST
files. This folder should reside on a
different HD that the one where your mailbox
stores are located, but this is only a
recommendation for performance benefits, not
a must. Also, make sure you have enough free
space on that partition.
Click Next.
- On the “Save Settings”
dialogue box you can now save the settings
you've configured so far, or you can just
click Next. You can also chance the name and
location of the files used by EXMERGE by
clicking on the “File Names” button.
Note: Notice where
you save these files. You can later modify
the settings of the EXMERGE operation by
simply altering some parts of these files.
For example, if you look
at the contents of the MAILBOXES.TXT file,
you'll see that you can easily add or remove
mailboxes by adding or deleting rows in that
file.
Take some time to explore
these files, it's well worth spending a few
minutes on them.
- After pressing Next the process will begin. This could take a considerable about
of time depending on how many mailboxes
you've selected and the size of the
mailboxes.
Notice an example of a
successful process:
If you get a window that
states that there were one or more failures,
such as this one:
then it's probably because
of wrong permissions on the destination
mailboxes. Re-read
Grant Full Mailbox Rights to an
Administrator on Exchange 2000/2003 and
start from the beginning of the article.
Automating EXMERGE
You can easily automate the
process of exporting the mailboxes to .PST files
by running EXMERGE from the command prompt or
from a simple batch file.
To perform automated
Brick-Level backups of
one or more mailboxes found on one Exchange
server follow these steps:
- Run the steps outlined in
the "Configuring EXMERGE" section above - up
to step number 16. Do NOT press Next (i.e.
do NOT perform step number 17).
- In step 16 make sure you
save the EXMERGE configuration files in a
convenient path, i.e. c:\EXMERGE\ or
similar.
- Quit EXMERGE (i.e. do NOT
perform step number 17).
- Notice that the saved
files location (i.e. c:\EXMERGE\)
holds a few files. At the minimum, it will
hold the following files:
EXMERGE.INI
MAILBOXES.TXT
- Open the
MAILBOXES.TXT
file (with Notepad or similar) and notice
how the mailboxes that are to be exported
are listed (in the format of a Distinguished
Name - or DN). You can easily add or remove
mailboxes by editing the
MAILBOXES.TXT
file.
For instance, if you want
to cause EXMERGE to work on the mailboxes of
a user called DANIEL and another user called
DAVID, then open the MAILBOXES.TXT file and
add the following lines:
Note that you do need to
use the RIGHT syntax for YOUR scenario, this
is just an example.
- Open the
EXMERGE.INI
file (with Notepad or similar) and notice
how the EXMERGE settings are entered. In
most cases you will not need to manually
edit these settings, however make sure you
read the following note:
Hebrew users note:
To successfully utilize the power of EXMERGE
when using Hebrew enabled servers with
Hebrew-titled items and mailbox names you
MUST follow the next tip:
EXMERGE and Hebrew Fonts. Failing to do
so might cause great damage to your
exported mailboxes and to the names and titles of
items within those mailboxes. Failing to do
so will not harm the items that are in the
original mailboxes, however items that were
exported to the .PST files might turn out to
be illegible.
- After you're satisfied
with the changes you've made to the files
(if any changes were made in the first
place) you can now run the EXMERGE operation
via the command line or through a simple
batch file (which can also be scheduled by
using the AT command):
(use your
own path to the
EXMERGE.INI
file)
- Note how the .PST file(s)
will be added to the folder which was
specified as the file location. Note that
this process might take a considerable
amount of time, all depending on the number
and size of the mailboxes being exported.
You ill not get a visual confirmation of the
operation, and you will not be notified when
it has ended, however, if you're in doubt,
use Task Manager to see if the EXMERGE.EXE
process is still running.
If you want to get a
visual GUI you can add -D to the
command, thus causing EXMERGE to display
the GUI while running:
Done!
You must be aware of the
following issues:
Security - EXMERGE
does not password-protect the .PST files it
creates. For security reasons, you’ll want
to create the .PST files on a secure file
system, such as NTFS.
Storage Space - You
need to consider how much space is required
to store the .PST files and with what
frequency you will have to purge the
archived .PST files. You might want to add
some archiving features to your script, such
as zipping all the .PST files after
exporting them.
Overwriting .PST files
- If there is no corresponding .PST file
for the mailbox in the export folder,
EXMERGE will create a new .PST file for the
mailbox. The .PST file naming convention is
<alias>.PST. If a .PST file for the mailbox
already exists in the export folder, EXMERGE
will export only new message data from the
mailbox to the .PST file. Therefore, you may
want to purge the .PST files or move them to
another directory so that EXMERGE will
create new .PST files when it runs next
time.
Single Instance Architecture - When
EXMERGE exports mailbox data to a .PST file,
you lose the benefit of the Single-Instance
message storage capability, so don’t be
surprised if a mailbox’s newly created .PST
file is 10 to 50 percent larger than the
mailbox itself.
Restoring the mailboxes
You have several options
when you need to restore mail from a
mailbox’s .PST file. You can run EXMERGE in
normal mode and select the .PST data by a
range of dates or other criteria and restore
them directly to any production mailbox.
Or you can copy the .PST
file to the user’s local disk or make it
available on a network share. Then, instruct
the user to add Personal Folders to their
Outlook Profile and add the .PST file when
they do so. The user can then browse through
the .PST file’s contents and retrieve the
messages they are looking for.
Related articles
You might also want to read the
following related articles:
Recent Exchange Forum threads
Got a question? Post it on our
Exchange Server
Forums!