There are a lot of instructions out there on restoring an Exchange 2010 server using BackupExec 2010, but very few resources for using BackupExec's 2012 version. Unfortunately, Symantec has completely changed the resource wizard in BackupExec2012, so a brief tutorial is in order.
Here are all the steps needed to perform a full database restore to a different database on the same server (even if it is in a Database Availability Group (DAG)).
Examples will be entered in [brackets]
First we need to create the recovery database. This is most easily done with the EMS:
New-MailboxDatabase -Recovery -Name [RecoveryDB] -Server [EXCH1] -EdbFilePath ["D:\RecoveryDB\RecoveryDB.edb"] -LogFolderPath ["E:\RecoveryDB\"]
Now we need to mount, then dismount the database to ensure it creates it properly:
And the dismount:
Some blogs/sites will recommend running eseutil on the Recovery Database once it is created. This shouldn't
be necessary as there have been no transactions. If you do see any errors during the restore then it would be worth checking the dismount status first with eseutil:
eseutil /mh ["d:\RecoveryDB\RecoveryDB.edb"]
Next we create our restore job,
Open the BackupExec console and right click on the Exchange server name or DAG name and click on "Restore".
Select the Microsoft Exchange option (there might be other options if you back up other files or services from the same server). Next...
Select the top option of "Microsoft Exchange Server databases or storage groups". Click Next...
Browse your backup sets for the backup from which you wish to restore (usually the most recent good backup but you might need an older one). Also make sure you have already catalogued your media by this point so it is visible in this view. Select your date, then the database. It is usually a good idea to select your logs from the backup as well if you are consolidating them using BackupExec to ensure you get the cleanest data you can. Click Next...
In the "Where do you want to restore the databases or storage groups?" window, select "To a different location" to ensure we know where we are restoring to (this is to avoid problems with DAGs).
Enter your server name in "Server":
Select your logon account (try to use the account with which the database was backed up.
This is window that caused me the most grief. It's called "Where do you want to redirect the databases or storage groups?" and it threw me the most because it doesn't have any helpful hints and I was working from an Exchange 2007 background. We do NOT want to "redirect to a recovery storage group" as this will fail. It is a 2007 only option (as reflected in the BE2010 console).
Instead we will "redirect to a database and/or storage group". Enter the name of the recovery database in "Database or recovery database"
You do NOT need any paths for this option. It already knows the server from step 5.
Click on next...
"How do you want to restore the databases or storage groups?" As this is a fresh database it shouldn't matter which you choose but I would suggest purging anyway as it ensures clean data. Click Next...
Now we need to set our temporary files until the restore is complete. I have added a drive to my recovery server that is 150% the size of the database just to be on the safe side. Enter the path:
Yes, this is the last backup set that will be restored. Unless you have stacks of incrementals to follow (that may well be a later article) but for now we are assuming a single, full backup is being restored.
Now you get to select your pre/post commands and select your notifications. If you are comfortable with these enough to know what they do, use them. If not, you don't need them for this example. The recipient list should be self explanatory. Next...
Finally, set up your job name and schedule. It is often a good idea to create it all but set the job on hold finish the wizard, make a cup of tea, come back and check it over before you run it. You REALLY don't want to overwrite the live database with a full restore by accident!
Review the entered details and click on Finish if you are happy.
After the restore completes (usually several hours later depending on your media and database) you can begin restoring!
A single mailbox can be restored thus:
Restore-Mailbox -Identity ["user001"] -RecoveryDatabase ["RecoveryDB"]
In summary, the wizard is now totally different for Exchange restores in BackupExec 2012 and does not provide the handy hints you found in previous versions. You need to know which version of Exchange supports which flavour of restore. If you don't get it exactly right the restore will fail with strange errors. In the case above, selecting a Recovery Storage Group instead of a database named [RecoveryDatabase] the restore would fail with the error of being unable to find the server!