This article contains information about how the Recovery Storage Group feature works. This article discusses how to create a Recovery Storage Group, how to restore mailbox data to a Recovery Storage Group, and how to extract recovered mailbox data from the Recovery Storage Group.
Overview of How Recovery Storage Groups Work
In versions of Exchange Server that are earlier than Exchange Server 2003, you must configure a separate Microsoft Active Directory directory service forest on a recovery server if you want to mount another copy of a production Exchange database or to mount a different version of a production Exchange database. With the Recovery Storage Group feature in Exchange Server 2003, a separate recovery computer is not required in certain situations when you want to recover data from a mailbox store. After you create a Recovery Storage Group, and after you add one or more databases to it, you can either restore online backup sets or you can copy offline database files to the Recovery Storage Group. To extract or to merge data from recovered databases in the Recovery Storage Group to a mailbox in a regular storage group, use the Exchange Server 2003 version of Microsoft Exchange Mailbox Merge Wizard (Exmerge.exe).To use a Recovery Storage Group, the Active Directory topology of the Exchange Server 2003 computer must be intact and must be in the same state as when the copy of the database was made. This means that the mailbox or the mailboxes that you want to recover must not be deleted or purged from the system, or moved to a different database or to a different server.
The Recovery Storage Group feature is not intended for use in disaster recovery operations that involve multiple servers or multiple storage groups. It is intended as a substitute in situations where previously, an alternative forest recovery server was required. Use the Recovery Storage Group feature in recovery situations where both the following conditions are true:
- The logical information in Active Directory about the storage group and its mailboxes is intact and unchanged.
- You want to recover data from a single mailbox, a single database, or a group of databases that are in a single storage group. For example, you can use a Recovery Storage Group to recover items that were deleted and purged from a user's mailbox, or you can use a Recovery Storage Group to restore or to repair a copy of an alternative database while another copy of the database remains in production.
How a Recovery Storage Group Is Different from a Regular Storage Group
A Recovery Storage Group is a specialized storage group that can exist with regular storage groups. Although a Recovery Storage Group is similar to a regular storage group, Recovery Storage Groups differ from regular storage groups in the following ways:- All protocols except MAPI are disabled. This means that you cannot send mail to or receive mail from a mailbox store that is in a Recovery Storage Group. However, you can use the Exmerge.exe tool to access mailboxes to recover data.
- You cannot connect user mailboxes in a Recovery Storage Group to user accounts in Active Directory. The only supported method that you can use to access mailboxes in a Recovery Storage Group is by using the Exchange Server 2003 version of the Exmerge.exe tool.
- You cannot apply system and mailbox management policies to a Recovery Storage Group.
- Online maintenance and defragmentation do not run against databases in the Recovery Storage Group.
- You must manually mount databases in the Recovery Storage Group. You cannot configure the databases to automatically mount in Exchange System Manager.
- You cannot change path locations or move data files after a Recovery Storage Group is created because those actions are not supported. If you want to change the location of the files in a Recovery Storage Group, you have to delete and then re-create the Recovery Storage Group.
- You can only recover mailbox stores to a Recovery Storage Group. You cannot restore a public folder store to a Recovery Storage Group because that action is not supported. The methods that you use to recover a public folder store in Exchange Server 2003 are the same methods that you use in Exchange 2000 Server.
- You can restore any private mailbox store from any computer
that is running Exchange Server 2003 or Exchange 2000 Service Pack 3 (SP3) or
later to a Recovery Storage Group, if the computer that contains the private
mailbox store and the computer that contains the Recovery Storage Group are
both located in the same administrative group.
Note When you restore a mailbox store to the Recovery Storage Group, the mailbox store is upgraded to the version of the mailbox store that currently is running on the computer. This means that you must upgrade the original computer to the version of Exchange that is running on the computer where the Recovery Storage Group is located before you can copy the databases back to the original computer. For example, if you restore a mailbox store from a computer that is running Exchange 2000 Server SP3 to a Recovery Storage Group that is stored on a computer that is running Exchange Server 2003, you must upgrade the original computer to Exchange Server 2003.
You can use the Exmerge.exe tool to move or to copy mailbox data between servers regardless of the version of Exchange Server that is running on the computers. - By default, data is restored to the existing Recovery Storage Group on the computer.
- If you restore multiple databases to a Recovery Storage Group, all databases that you add to the Recovery Storage Group must be from the same storage group.
- You can only have one Recovery Storage Group on a computer.
- You can only have one Recovery Storage Group per two-node cluster, regardless of the number of Exchange virtual servers that are present. For clusters that contain more than two nodes, each Exchange virtual server can have its own Recovery Storage Group.
- Recovery Storage groups cannot be used to restore Exchange backups that were performed using third-party software that supports the Volume Shadow Service in Microsoft Windows Server 2003. Recovery Storage Groups can be used only to restore backups performed by an Exchange-aware backup application. Backup snapshots that were taken by using Volume Shadow Service can be restored only by using Volume Shadow Service.
How the Recovery Storage Group Links Back to the Original Database
A Recovery Storage Group uses the following two Active Directory attributes to link a copy of the database with its original database:- The msExchMailboxGUID attribute:
The first test that a mailbox must pass before you can recover data from the mailbox by using a Recovery Storage Group is that the mailbox GUID must correspond to a user in Active Directory.
The mailbox GUID is a unique value that distinguishes a mailbox from all others. The mailbox GUID is created in the mailbox store when the mailbox is created, and the value remains the same for the lifetime of the mailbox. The msExchMailboxGUID attribute uses the mailbox GUID value from the mailbox store. The msExchMailboxGUID attribute is set on the user who owns the mailbox when you link a mailbox to a user account in Active Directory. The Exmerge.exe tool uses the msExchMailboxGUID attribute to match the mailbox in the Recovery Storage Group with the original mailbox.
When you delete a mailbox, mailbox attributes are removed from the user object in Active Directory that previously owned the mailbox. As a result, you cannot use a Recovery Storage Group to recover a deleted mailbox. - The msExchOrigMDB attribute:
The second test that a mailbox must pass before you can recover data from the mailbox by using a Recovery Storage Group is that the mailbox must exist in the original mailbox store where the Recovery Storage Group was created. The msExchOrigMDB attribute is set on each database object in the Recovery Storage Group and it specifies the distinguished name of the original database where the Recovery Storage Group was created. If you move the mailbox to a different mailbox store, you cannot use the Exmerge.exe tool to extract data from the mailbox. To resolve this issue, do one of the following:- Move the mailbox back to the original mailbox store.
- Modify the msExchOrigMDB attribute on the Recovery Storage Group database to point to the
mailbox store that you moved the mailbox to.
When you use this option, you cannot use the Exmerge.exe tool to access any mailboxes that you did not move to a different mailbox store. If you want to access the mailboxes that remain in the original mailbox store, you must change the msExchOrigMDB attribute back to its original value.
To modify the msExchOrigMDB attribute by using ADSI Edit, follow these steps.Warning If you use the ADSI Edit snap-in, the LDP utility, or any other LDAP version 3 client, and you incorrectly modify the attributes of Active Directory objects, you can cause serious problems. These problems may require you to reinstall Microsoft Windows 2000 Server, Microsoft Windows Server 2003, Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003, or both Windows and Exchange. Microsoft cannot guarantee that problems that occur if you incorrectly modify Active Directory object attributes can be solved. Modify these attributes at your own risk.- Start ADSI Edit.
- Locate the mailbox store that you moved the mailbox to. To do so, expand Configuration Container [YourServerName.YourDomainName.YourTopLevelDomain], expand CN=Configuration,DC=YourDomainName,DC=YourTopLevelDomain, expand CN=Services, expand CN=Microsoft Exchange, expand CN=YourOrganizationName, expand CN=Administrative Groups, expand CN=Your Administrative Group, where Your Administrative Group is the administrative group that contains the storage group that you want to modify), expand CN=Servers, expand CN=YourServerName, expand CN=InformationStore, and then click CN=YourStorageGroup.
- In the right pane, right-click the database object, and then click Properties.
- In the Select which properties to view list, click Both.
- In the Select a property to view list, click distinguishedName.
- Right-click the value that is in the Value(s) box, and then click Copy.
- Click Cancel.
- Locate and then click the Recovery Storage Group database object in the CN=Configuration,DC=YourDomainName,DC=YourTopLevelDomain container.
- In the right pane, right-click the Recovery Storage Group database object, and then click Properties.
- In the Select which properties to view list, click Both.
- In the Select a property to view list, click msExchOrigMDB.
- Click Clear.
- Right-click an empty area of the Edit Attributes box, and then click Paste.
- Click Set, and then click OK.
- Quit ADSI Edit.
Recovery SG Override Registry Key
The Exchange Information Store automatically redirects all restore operations to the Recovery Storage Group (if a Recovery Storage Group exists on the server). When a Recovery Storage Group is created on a server, Exchange checks to see if the database that is selected for the restore operation is present in the Recovery Storage Group. If it is present, the database files are restored to the Recovery Storage Group. If it is not present, the restore operation stops. Event messages that are similar to the following may appear in the application event log:
Event Type:
Error
Event Source: MSExchangeIS
Event Category: Exchange Backup
Restore
Event ID: 9635
Computer: EXCHANGE
Description: Failed to
find a database to restore to from the Microsoft Active Directory. Storage
Group specified on the backup media is [GUID]. Database specified on backup
media is [Database Name] (EXCHANGE), error is 0xc7fe1f42.
Event Type: Error
Event Source: ESE BACKUP
Event
Category: Callback
Event ID: 904
Computer: EXCHANGE
Description:
Information Store (4000) Callback function call ErrESECBRestoreGetDestination
ended with error 0xC7FE1F42 Database not found.
If you do not want to restore data to the Recovery Storage Group and you do not want to delete the Recovery Storage Group, create the
To create and configure the
- Click Start, and then click Run.
- In the Open box, type regedit, and then click OK.
- Locate and then click the following registry key:HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \MSExchangeIS \ParametersSystem
- On the Edit menu, point to New, and then click DWORD Value.
- Type Recovery SG Override, and then press ENTER.
- On the Edit menu, click Modify
- In the Value data box, type 1, and then click OK.
- Quit Registry Editor.
Create a Recovery Storage Group
To create a Recovery Storage Group:- Start Exchange System Manager.
- Expand Administrative Groups (if appropriate), expand AdministrativeGroupName (if appropriate), and then expand Servers.
- Right-click ServerName, point to New, and then click Recovery Storage Group.
- In the Name box, type a name for the
Recovery Storage Group.
Try to use the same name that you used for the original storage group when you specify a name for the Recovery Storage Group. If you receive an error message that is similar to the following when you do so, use a different name for the Recovery Storage Group:The object StorageGroupName already exists. Enter a unique directory name for this object. - In the Transaction log location and in the System path location boxes, specify a location for the transaction log files and for the system path. Make sure that the location that you specify for the transaction log files for the Recovery Storage Group is different from the location that is specified for the transaction log for the original storage group.
- Click OK.
- Right-click the Recovery Storage Group that you created, and then click Add Database to Server
- In the Select database to recover dialog box, click the mailbox store that you want to add to the Recovery Storage Group, and then click OK.
- In the Mailbox Store Properties dialog box, review the properties of the mailbox store, and then click OK.
Restore a Mailbox Store to the Recovery Storage Group
You can restore a mailbox store to a Recovery Storage Group by using either of the following methods:- Restore a mailbox store from an online backup.
- Manually copy database files to the appropriate folder on the server.
Restore a Mailbox Store from an Online Backup
- If databases are currently mounted in the Recovery Storage
Group, do the following:
- Dismount the databases.
- Use the Eseutil.exe command-line tool to verify that
the databases are in a "clean shutdown" state. To do so, open a command prompt,
switch to the ExchSrvr\Bin folder, type the following line, and then press
ENTER:Eseutil /mh YourDatabaseName.edbIn the output that appears in the Command Prompt window, note whether the State line shows as State: Clean Shutdown or State: Dirty Shutdown. If the databases are consistent, delete all transaction log files (.log) and checkpoint files (.chk) for the Recovery Storage Group.
- Restore a full backup set to the server where the Recovery
Storage Group is located.
If you are not restoring additional differential or incremental backups, or if you are not adding additional log files, configure a hard recovery to run automatically. If you use Microsoft Backup, you configure a hard recovery to run automatically when you click to select the Last Backup Set check box. - Verify that the database that you want to restore is
consistent and that it is in a "clean shutdown" state. To do so, open a command
prompt, switch to the ExchSrvr\Bin folder, type the following line, and then
press ENTER:Eseutil /mh YourDatabaseName.edbIn the output that appears in the Command Prompt window, note whether the State line shows as State: Clean Shutdown or State: Dirty Shutdown.
- Do one of the following, as appropriate to your situation:
- If the database is consistent, go to step 5.
- If the database is not consistent, manually perform a
hard recovery. To do so, open a command prompt, switch to the ExchSrvr\Bin
folder, type the following line, where Path of the Restore.env
file is the path of the folder that contains the Restore.env file
on the hard disk, and then press ENTER:Eseutil /cc Path of the Restore.env fileWhen the hard recovery operation completes successfully, the Restore.env file is deleted.
- Start Exchange System Manager, and then view the properties of the database that you restored. On the Database tab of the Mailbox Store Properties dialog box, verify that the This database can be overwritten by a restore check box is selected.
- Mount the database.
Manually Copy Database Files to a Recovery Storage Group
- Verify that the database that you want to restore is
consistent and that it is in a "clean shutdown" state. To do so, open a command
prompt, switch to the ExchSrvr\Bin folder, type the following line, and then
press ENTER:Eseutil /mh YourDatabaseName.edbIn the output that appears in the Command Prompt window, note whether the State line shows as State: Clean Shutdown or State: Dirty Shutdown.
- Do one of the following, as appropriate to your situation:
- If the database is consistent, go to step 3.
- If the database is not consistent and if the database
log files exist, use the Eseutil.exe tool to perform a soft recovery on the
database. When you perform a soft recovery, uncommitted logs are committed to
the database. To perform a soft recovery, switch to the ExchSrvr\Bin folder at
a command prompt, type the following line, where rnn
is the log file prefix and database_folder_path is
the name of the folder where the database file is located, and then press
ENTER:eseutil /r rnn /i /ddatabase_folder_pathFor example, you might type the following:eseutil /r r00 /i /d"c:\Program Files\Exchsrvr\Recovery Storage Group"Note There is no space after the /d switch.
- If the database is not consistent and if the database
log files do not exist, use the Eseutil.exe tool to perform a hard repair on
the database.
Warning When you use the following command, Exchange Server data loss occurs. Data loss can be significant; however, in most situations the data loss is minimal. The following command is a hard or forcible state recovery command. Use it only if the database does not return to a consistent state after you run the Eseutil /mh YourDatabaseName.edb command.
To perform a hard repair, open a command prompt, switch to the ExchSrvr\Bin folder, type the following line, and then press ENTER:eseutil /p YourDatabaseName.edb
- Immediately after the successful completion of the hard
repair, perform an offline defragmentation of the repaired database. To perform
an offline defragmentation, open a command prompt, switch to the ExchSrvr\Bin
folder, type the following line, and then press ENTER:eseutil /d YourDatabaseName.edb
- Copy the .edb and the .stm database files to the appropriate folders that you specified earlier when you created the Recovery Storage Group.
- If databases are currently mounted in the Recovery Storage
Group, do the following:
- Dismount the databases.
- Use the Eseutil.exe tool to verify that the databases
are in a "clean shutdown" state. To do so, open a command prompt, switch to the
ExchSrvr\Bin folder, type the following line, and then press ENTER:Eseutil /mh YourDatabaseName.edbIn the output that appears in the Command Prompt window, note whether the State line shows as State: Clean Shutdown or State: Dirty Shutdown. If the databases are consistent, delete all transaction log files (.log) and checkpoint files (.chk) for the Recovery Storage Group.
- Start Exchange System Manager, and then view the properties of the database that you restored. On the Database tab of the Mailbox Store Properties dialog box, verify that the This database can be overwritten by a restore check box is selected.
- Mount the database.
Extract or Merge Mailbox Data from the Recovery Storage Group to the Regular Storage Group
Use the Exchange Server 2003 version of Microsoft Exchange Merge Wizard (Exmerge.exe) to extract data from a database in a Recovery Storage Group to the mailbox of the user in the regular storage group. For more information about how to obtain the Exmerge.exe tool, visit the following Microsoft Web site: The same Exmerge.exe functionality that is available for databases that are in regular storage groups is available for databases that are in a Recovery Storage Group. However, note the following differences that apply when you use the Exmerge.exe tool with a Recovery Storage Group:- You do not have to override the Deny setting that is configured for the Receive As permission for members of the administrative group when you extract data from the Recovery Storage Group. However, when you merge data back to the regular storage group, you have to add the appropriate user account to the mailbox store, and you have to assign the account the Receive As permission.
- The original mailbox must still be present in the original
database and must still be connected to an Active Directory user account. The
following considerations apply:
- If the mailbox is disconnected, the Exmerge.exe tool does not display the mailbox in the list of available mailboxes.
- If the mailbox is moved to a different database, the mailbox appears in the list of available mailboxes, but the Exmerge.exe tool cannot extract data from it.
- If the mailbox is disconnected from a user in Active Directory and then is reconnected to a different user in Active Directory, and the mailbox remains in its original database, the Exmerge.exe tool can extract the mailbox data from the Recovery Storage Group. However, the Exmerge.exe tool uses the mailNickname attribute of the current mailbox owner as the display name of the mailbox, and it uses the attribute of the previous owner of the mailbox as the directory name. The resulting .pst file uses a name that is based on the mailNickname attribute of the previous owner. You must rename the .pst file to match the mailNickname attribute of the current owner of the mailbox before you can import the mailbox data back to the original mailbox. This means that you must perform a two-step merge operation. You must rename the .pst file between each step of the merge operation.
Messaging Dial Tone Recovery Strategy
If you have a large mailbox store, it may take several hours to restore the mailbox store from backup. With the "Messaging Dial Tone" strategy, you can restore e-mail service more quickly to users, and you can restore their previous data as it becomes available. You first reset an Exchange database by removing the current database files to create a temporary, blank, "dial tone" database. Users can log on to this database to send and to receive mail. New, empty mailboxes are created in the "dial tone" database when users log on. Because the new mailboxes have the same values for the msExchMailboxGUID attribute in the "dial tone" database as in the original database, you can use the Exmerge.exe tool to transfer data between the original database and the temporary �dial tone� database.When the "dial tone" database is set up and is running, you can restore or repair the original database in the Recovery Storage Group. When the restore or the repair operation is complete, dismount both database, and then swap the database files between the original storage group and the Recovery Storage Group. By doing so, users can access their previous data, but users cannot access new items. To restore access to new items, use the Exmerge.exe tool to transfer data from the "dial tone" database to the original database.