Hi everyone, Andy Nadarewistsch here. While the restore process for System Center Data Protection Manager 2007 (DPM 2007) and System Center Data Protection Manager 2010 (DPM 2010) is the same for all versions of Exchange, the procedure on the Exchange side has gone through some changes. Detailed instructions for dealing with Exchange 2010 recovery databases can be found here.
One of the most common restore methods used in DPM is to a recovery database. Let’s do a basic step-by-step process here.
Some general information:
Changing the status of a database from active to passive or vice versa may affect the recovery process. If the database is passive, DPM cannot perform a Volume Shadow Copy Service (VSS) recovery. For further information please refer to Restoring a Database Availability Group Copy
Recovering to the active database is the same as recovering to an Exchange Server 2010 standalone node. The Exchange Server administrator must synchronize the passive copy from the recovered active copy by running the Resume-MailboxDatabaseCopy cmdlet on the Exchange server. You can recover a database only on the node that was protected.
DPM supports the following five types of recovery for Exchange Server 2010 mailbox databases:
- Recover the database to its original location: Overwrite the existing copy of the database.
- Recover the database to an alternate database: Restore to another database on an Exchange Server.
- Recover to an Exchange Recovery database: Recover to an Exchange Recovery database instead of a standard mailbox database.
- Recover to network location: Copy the database to a network folder.
- Copy to tape: Create an on-tape copy of the database.
As stated, this topic will look at this process in the form of restoring to an Exchange RDB and then restoring a user mailbox. The Exchange page above lists specifics of doing other broader types of recoveries.
The biggest thing that DPM administrators should be concerned with is that there is a recovery database (RDB) created on one of the Exchange servers.
Step 1: Creating an Exchange RDB for restore
The process to do this is through Exchange PowerShell Management.
NOTE You can’t use the Exchange Management Console to restore data using an RDB. The only way to do this with Exchange 2010 is using the Exchange Management Shell.
1. On one of the Exchange 2010 servers, open the Exchange Management Shell.
2. Once connected, run the following command:
New-MailboxDatabase -Recovery -Name %RDBName% -Server %ExchangeServerName%
RDBName will be the name of the recovery database and ExchangeServerName will be the name of the exchange server where the RCB will be created
You can also set the location for your RDB using the following commands
New-MailboxDatabase -Recovery -Name %RDBName% -Server %ExchangeServerName% -EdbFilePath %targetDBPath% -logFolderPath %targetlogPath%
IMPORTANT Make sure to create the RDB on an Exchange server that has the protection agent installed from the DPM server where you will be doing the restore from as you can only recover to servers with the agent installed.
To be sure the mailbox database was created, you can run the following command to list all of the mailbox databases in the Exchange organization (or you can pare that down using the –Server %ServerName% to list only mailbox databases on a specific server)
Let’s stop for a second and take a look at what is seen on the Exchange server side.
Open the Exchange Management console >Organization Configuration >Mailbox. If it’s already open click refresh. The first thing is by default the RDB is dismounted and is set to allow to be overwritten.
Right-click on RDB, select Properties. The general should show “dismounted” and maintenance tab will have the “This database can be overwritten by a restore” checked.
There are some restrictions of an RDB due to its purpose. If these are not adhered to, it could cause problems restoring from DPM. Some examples are:
- An RDB is created by using the Exchange Management Shell
- Exchange 2010 server supports only one Recover Database mounted at a time
- An RDB is used for recovering mailbox database data only. RDB can’t be used to recover public folder data
- You can’t create mailbox database copies of an RDB
- An RDB can be used as a target for restore operations, but not backup operations
For a complete list reference see Recovery Databases
Step 2: Doing Restore through the DPM console
1. Once the creation of the recovery mailbox database has been confirmed, open the DPM console and navigate to the Recovery tab.
2. Find the mailbox database with the user’s mailbox you wish to recover and then find the user and the point in time you wish to recover. With the user highlighted, in the Actions menu on the right, click Recover.
3. You will be presented with a Recovery Wizard which will have you confirm the information that you have chosen to restore. Confirm the user mailbox and time/date stamp for the recovered items and click Next.
4. On the Select recovery type page, there are three of recoveries that can be chosen:
a. Recover mailbox to an Exchange server database:
Use this option when restoring to an Exchange server where a recovery database mailbox has been set up. This will allow Exchange administrators to recover information from it.
b. Copy to a network folder:
This will make the database and its log files available to an Exchange administrator for advanced recovery options if so requested.
c. Copy to tape:
This copies the files to a tape to allow you to move the files to an alternate location for recovery. This will be disabled if there is no tape drive/libraries or there are not enough tape drives.
For our example, we will choose the first option and click Next.
5. The Specify Destination screen will now prompt you for the Exchange server and database name. The server will need to be one that has the DPM agent installed from this DPM server. The Exchange server and database name will be the ones specified in Step 2 above. Once confirmed, click Next.
6. For the Specify Recovery Options page, you can select to mount the database after it’s recovered among other settings. Verify you have the selections you want and click Next.
7. For the Summary page, review the selections you have made to make sure everything is correct.
8. Once the restore has completed on the DPM server, the Exchange administrators can now do the restore of the mailbox from the Exchange Management Shell.
9. To restore, use the following command:
Restore-Mailbox –Identity %Username% -RecoveryDatabase %RDBName%
Username will be the email username of the user mailbox being recovered and RDBName will be the name of the recovery database (from Step 2 above)
If we had looked at the Exchange RDB before we did the restore the follow items would be noticed. The RDB would have been mounted and the “This database can be overwritten by a restore” box unchecked.
Remember: Only one RDB can be mounted at a time and the overwrite flag must be set to do a restore. If I tried to do a recovery to the same RDB I would have received the following error:
If I tried to recover to another RDB2 while RDB1 was mounted I would have gotten the following error:
After the failure, the Exchange RDB2 will go into a dismounted state.
To get back to square one just right-click > dismount for all RDBs and ensure the flag for “This database can be overwritten by a restore” is checked.
NOTE You can also dismount an RDB via Exchange PowerShell:
Here are some additional resources on the subject:
Recovery Databases – http://technet.microsoft.com/en-us/library/dd876954.aspx
Restore Data Using a Recovery Database – http://technet.microsoft.com/en-us/library/ee332351.aspx
Restore to a Recovery Database – http://msdn.microsoft.com/en-us/library/aa579367(v=exchg.140).aspx
Exchange VSS Writers – http://msdn.microsoft.com/en-us/library/bb204080.aspx
Exchange Management Console – http://technet.microsoft.com/en-us/library/bb123762.aspx
Dismount a Database – http://technet.microsoft.com/en-us/library/bb123903.aspx
Exchange 2010 Cmdlets – http://technet.microsoft.com/en-us/library/bb124413.aspx
Good luck on all your recoveries!
Andy Nadarewistsch | Senior Support Escalation Engineer
App-V Team blog: http://blogs.technet.com/appv/
ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
DPM Team blog: http://blogs.technet.com/dpm/
MED-V Team blog: http://blogs.technet.com/medv/
Orchestrator Support Team blog: http://blogs.technet.com/b/orchestrator/
Operations Manager Team blog: http://blogs.technet.com/momteam/
SCVMM Team blog: http://blogs.technet.com/scvmm
Server App-V Team blog: http://blogs.technet.com/b/serverappv
Service Manager Team blog: http://blogs.technet.com/b/servicemanager
System Center Essentials Team blog: http://blogs.technet.com/b/systemcenteressentials
WSUS Support Team blog: http://blogs.technet.com/sus/
The Forefront Server Protection blog: http://blogs.technet.com/b/fss/
The Forefront Endpoint Security blog : http://blogs.technet.com/b/clientsecurity/
The Forefront Identity Manager blog : http://blogs.msdn.com/b/ms-identity-support/
The Forefront TMG blog: http://blogs.technet.com/b/isablog/
The Forefront UAG blog: http://blogs.technet.com/b/edgeaccessblog/