Since them, word of Exchange 2010's release has come, and with that, the question of "when will my backup vendor provide updates that are compatible with Exchange 2010" and "what can I do in the meantime"
One of the easiest solutions is using Windows Server backup, and then allow your existing backups to do file level backups of that data. The question once this is in place, of course is how do I recover from that?
So I intend to cover three scenarios:
- Single Item or Mailbox recovery - accidental delete, assuming you passed or misconfigured deleted item and deleted mailbox retention.
- Loss of a DAG member - How to recover from losing a single member of a DAG.
- Entire Server recovery - Building/site failure, need to return to service and restore data from backups. (this will be single server from backup)
Additionally, I am using a database that is in a DAG for this, but am writing it as if it was standalone, as the #2 and #3 scenarios would be addressed by the Database Availability Group.
So, on to scenario #1 - I have disabled my mailbox in the EMC, and run the below powershell to force the database clean:
Now I see my mailbox under "Disconnected Mailbox" in a normal scenario, this is what Exchange 2003 and up has offered, where I could right click my mailbox and choose to re-connect it to my user account:
Of course, I want to go to backups so I reset my database to have a 0 day deleted item mailbox retention and refreshed this screen and my mailbox was no more!
Do note, the settings in the above screenshot are NOT recommended. Default is 30 days, and I recommend leaving it there or higher!
Next, we must recover the data "to an alternate location" using Windows Server Backup
Choose your Backup Date, then your recovery type should be "Applications"
(I included the show details, which is the store GUID)
I chose here to recover to another location (Note: c:\RDB1 is NOT where my RDB's EDB/logs/anything are)
Do note that "this option will copy just the application data" - there are additional steps after this!
Finally, launch the recovery.
Once completed, you will have the file structure of the database in the path specified:
Now that we have our data files, the recovery is similar to Exchange 2007 SCR's database portability.
Run ESEUTIL /R from the log file directory
Then we can run:
Eseutil /mh geodb1.edb
And determine the DB is healthy:
Next few steps edited on 11/3/2009 for missing content:
Now we can create our new Recovery mailbox database using:
new-MailboxDatabase -Recovery -Name rdb1 -Server exch2010 -EDBFilePath "c:\rdb1\rdb1.edb" -LogFolderPath "c:\rdb1\"
Copy the EDB file to the path EDBFilePath of the RDB1 Database, renamed it appropriately, and then it should mount successfully (NOTE: Logs didn't need to be copied since ESEUTIL /R replayed them into the EDB, however if you do copy them into place, Exchange will see they are replayed and move on)
Once mounted, we can use
get-MailboxStatistics -database rdb1
to see that the data is there:>
Now, in the Exchange documentation, it states that:
Restore-Mailbox -Identity chris -RecoveryDatabase rdb1
would recover the data into the mailbox. The problem is, we don't have a mailbox with that GUID any more. If I re-enable a new mailbox for chris, he will get a new mailbox GUID.
Restore-Mailbox chris -RecoveryDatabase rdb1
This makes sense, it cannot match GUID's and stops - more on this in a second.
However, you are able to run a recovery operation (similar to Export-Mailbox in Exchange 2007)
Restore-Mailbox -RecoveryMailbox chris -Identity chris -RecoveryDatabase rdb1 -TargetFolder "Recovery"
And the results, all of the content in a subfolder named "Recovery"
I attempted a few other things to see if I could restore directly into the mailbox, but was not able to find any luck.
Important to note - if I was recovering for a user that missed their deleted item retention time, I can use the restore-mailbox to specify by subject, dates, folders and more. Because I mail disabled the user, I am not able to restore directly.