If you missed the other articles in this series please read:
- Demystifying The Exchange Dial-tone Restore Method (Part 1)
- Demystifying The Exchange Dial-tone Restore Method (Part 2)
Verifying the State of the Restored Mailbox Store
It’s time to verify the restored Mailbox Store is visible under the Recovery Storage Group in the System Manager as well as check that the respective mailboxes are listed under the Mailboxes container object (see Figure 1).
Figure 1: Restored Mailbox Store under the Recovery Storage Group as seen in System Manager
After restoring a Mailbox Store to the Recovery Storage Group it’s recommended to dismount/mount it once, in order to ensure any required transaction logs have been purged to the database, as well as to make sure the database is in a consistent state. If you belong to the paranoid Exchange Admin’s you can double check the state of the database by running an ESEUTIL /MH C:\Program Files\Exchsrvr\Recovery Storage Group\database.edb against it (remember to do this while it’s dismounted). The line State: should be in a Clean Shutdown state, as is the case in Figure 2.
Figure 2: State of the restored Mailbox Store
Swapping the Restored Mailbox Store with the Dial-tone Database
Alright now that we have a consistent restore of the original Mailbox store, we’re ready to have it swapped with the dial-tone database currently in production. Actually you could go right away and start to merge the restored Mailbox Store to the dial-tone database, but there are several disadvantages in doing so. The most noteworthy are listed below:
- Single Instance Storage (SIS) will be lost meaning the Mailbox Store will become much bigger than was the case prior to the crash.
- Original mailbox rules, forms etc. will be kept in the state they were in before the Mailbox Store crash, which mean users won’t have to do any modifications to rules that for example move messages to custom folders plus the Outlook offline files (OST files) still will be functioning.
- The time of the overall merge of data from one database to the other will be greatly reduced. Since the dial-tone database is much smaller in size than the original Mailbox Store. Imagine how long it will take to merge let’s say 30GB into a database versus 1GB!
In order to swap the databases the first step is to dismount both of them by right-clicking the Mailbox Stores and select Dismount Store in the System Manager.
Theoretically you could swap the databases by changing the logical path of each in the System Manager, but I don’t recommend this method and therefore won’t go into details on how you accomplish this.
Next step is to make sure the .EDB and .STM files associated with the Mailbox Store which were restored to the Recovery Storage Group match the names of the .EDB and .STM files associated with the dial-tone database, if they don’t now is a good time to rename them.
You should only rename the .EDB and .STM files if you don’t need to replay any additional log files into them.
It’s time to create a folder named NEW (or something else if you prefer) in the folder holding the .EDB and .STM files for the Restored Mailbox Store as well as in the Mailbox Store (Dial-tone database) currently in production, by default the path to each are C:\Program Files\Exchsrvr\Recovery Storage Group and C:\Program Files\Exchsrvr\MDBDATA (shown in Figure 3 below).
Figure 3: Path to the .EDB and .STM file of each Mailbox Store
Now move the .EDB and .STM files from the Recovery Storage Group folder to the NEW folder created under the MDBDATA folder. Do the same for the .EDB and .STM files held in the MDBDATA folder; just move them to the NEW folder in the Recovery Storage Group folder instead. When the files have been moved you should move them once again, this time from the NEW folder to the folder above it (that is the Recovery Storage Group and MDBDATA folder). If you get a dialog box asking whether you want to overwrite existing files, it’s because you did a copy and not a move in the previous step. If this is the case just select Yes.
Back in the System Manager you should open the Properties of each Mailbox Store, select the Database tab and check mark This database can be overwritten by a restore (shown in Figure 4 below).
Figure 4: Database tab in the Properties of the Mailbox Store
Now mount both Mailbox Stores in the System Manager, when you have done so the users can once again access their original Mailboxes (including rules etc.). In addition the users will only be faced with the Outlook 2003 Exchange Recovery Mode dialog box one more time, and that’s the first time they login after the databases have been swapped.
Merging the Databases
Okay we have one more step to do before we can call the dial-tone database recovery method a success, and that is to merge the database that were created in the dial-tone database during the period we restored the original Mailbox Store from backup. Before Exchange 2003 SP1 were released the merging was done with the help of ExMerge, but Exchange 2003 SP1 changed this as it included a new Recover Mailbox Data feature that’s integrated into the System Manager console (you can read more about the feature in this article over at the Microsoft Exchange TechCenter).
To merge the Mailboxes from the dial-tone database to the original database restored from backup, drill down to the Recovery Storage Group > Mailbox Store > Mailboxes in the System Manager console. Here you should select the mailboxes that need to be merged, then right-click and select Exchange Tasks in the context menu as shown in Figure 5 below.
Figure 5: Selecting the Mailboxes that need to be merged
Now click Next twice (see Figure 6).
Figure 6: Merge or copy mailbox items to selected user’s current mailbox
Make notice of the Destination Mailbox Store and click Next again (see Figure 7).
Figure 7: Destination Mailbox Store
Select Merge Data then click Next as shown in Figure 8.
Figure 8: Selecting Merge Data
Schedule the processing task or begin the merging immediately, then click Next (see Figure 9).
Figure 9: Schedule the processing task
Let the task finish then click Finish (Figure 10 and 11).
Figure 10: Task In Progress
Figure 11: Completing the Exchange Task Wizard
We have now restored all mailbox data to the state it was in prior to the Mailbox Store crash, as well as merged any messages that were received while the users were connected to the dial-tone database, and can now call our disaster recovery a success.
Hopefully these 3 articles inspired you enough to go test out the dial-tone recovery method in your test lab, so that you can make use of its benefits should you one day have to deal with a large corrupt Mailbox Store in your Exchange messaging environment.
If you have any questions, comments or other feedback please post them to the thread below on the MSExchange.org Message boards:
How to use Recovery Storage Groups in Exchange Server 2003:
Using Exchange Server 2003 Recovery Storage Groups (chapter6): http://www.microsoft.com/technet/prodtechnol/exchange/2003/library/ue2k3rsg.mspx
Dial-tone databases MS BlogCast:
Considerations and best practices when resetting an Exchange mailbox database: http://support.microsoft.com/?id=282496
If you missed the other articles in this series please read: