Over the Christmas break, I had the pleasure of dealing with email loss on Exchange 2007. A database had gone offline, and in the process of it being re-seeded to the other mailbox server in the CCR (Continuous Cluster Replication), it didn’t really reseed correctly and 4 days of email was lost.
What most people do (including me) in this scenario is restore the database, swap the databases around and replay the logs. This wasn’t possible in my scenario due to limited disk space. I started reading up on Recovery Storage Groups which have been around since the Exchange 2003 days. You can mount a restored database, then replay the contents into live mailboxes and merge the contents together. This sounded perfect for my issue, because I could just merge the missing days with no downtime.
First, you need to create a Recovery Storage Group. I followed the first two steps from here: http://www.symantec.com/business/support/index?page=content&id=TECH51555 which is just these two Powershell commands:
new-storagegroup -Server <Sever_Name> -LogFolderPath <path_to_Logfiles> -Name <RSG_Name> -SystemFolderPath <Database_Path> -Recovery
new-mailboxdatabase -mailboxdatabasetorecover <Database_Name> -storagegroup <Server_Name>\<RSG_Name> -EDBFilePath <Database_Path>
The first command is creating the storage group, while the second one is creating a new blank database. You can swap over your restored database with the one you created, as long as the database is offline.
You can either use more Powershell commands to do your merging, or use the Exchange Management Console. There’s a great article here on how to do this: http://www.msexchange.org/tutorials/Working-Recovery-Storage-Groups-Exchange-2007.html
Because you’ve already created a Recovery Storage Group, you just need to use the ‘Merge or Copy Mailbox Contents’ option from ‘Database Recovery Management’ option in the ‘Exchange Management Console – Toolbox’ area. It’s a fairly straight forward wizard, you can choose emails with a particular subject, or in my case just a certain time period. You can also choose whatever mailboxes you’d like to merge, which is great for testing and proving it will work. There’s a brief article here for more details: http://www.petri.co.il/restoring_exchange_mailbox_recovery_storage_group_part2.htm
It’s worth considering using Recovery Storage Groups in a disaster situation, even if it’s just for one mailbox or a few emails. There’s no outage involved which makes it a much nicer method than having to bring your whole database offline.