Exchange Server 2013 Backup and Restore 101 (Part 11)

If you would like to read the other parts in this article series please go to:

At this point, our clients are accessing the information before the crash and all new messages are arriving in their mailboxes, however we have a gap of messages that were delivered in the dial tone database that are not accessible yet.

The first step is to clean the folder where we have the recovery database (RDB01), move the temporary database (TDB01 – Temp DB.edb) file to that location, and then rename it to rDB01.edb, which is the name expected on the Recovery Database. The process to move and rename the file is shown in Figure 01.

Image
Figure 01

Then, we need to mount the recovery database, the entire process including the validation in Figure 02.

Image
Figure 02

We can list all the mailboxes that are available in the Recovery Database (which is our Temporary Database). In the output of the cmdlet we can see that the Number6 mailbox is there and it has five items (Figure 03). The cmdlet below is important because we list the MailboxGuid attribute and we need that information to perform the restore of the information.

Get-MailboxStatistics –Database RDB01 | ft DisplayName,MailboxGuid,ItemCount -AutoSize

Image
Figure 03

In order to restore the information from a single user, we can use the cmdlet shown below (Figure 04). The New-MailboxRestoreRequest requires 2 pieces of information to find out the source (source database and the sourcestoremailbox which is the MailboxGUID) and just the target mailbox and that is it.

New-MailboxRestoreRequest –SourceStoreMailbox <MailboxGUID> -SourceDatabase RDB01 –TargetMailbox Number6

Image
Figure 04

We can track the status of the process using Get-MailboxRestoreRequest cmdlet, and after it finishes, we can check the OWA (Figure 05) of the user and all messages will be available (before the crash and messages from the period of the dial tone database).

Image
Figure 05

Removing unnecessary databases…

Now that the users have all their data back on their mailboxes and the service is completely restored, we can work on removing the databases that were used during the dial tone recovery process. The first step in our scenario is to check which databases are mounted, and we can do that by running Get-MailboxDatabaseCopyStatus cmdlet (Figure 06).

Image
Figure 06

In the last article, we mounted the restored database in the TDB01 Mailbox Database, and then we moved all data from the Recovery Database (RDB01) to the TDB01 and that became our master copy with all old data, and the data from the dial tone which is receiving the new messages.

For all other databases, including the original database that had a problem (DB01) and the Recovery Database (RDB01), will need to be removed from Exchange Server and most important, remove the files from the file system to save disk space.

In order to remove a database, first we need to dismount it using the Dismount-Database <DBName> cmdlet, as shown in Figure 07. A confirmation will be required.

Image
Figure 07

Before removing the Mailbox Database, we need to know where the Database and its log files are located. Using the cmdlet below (Figure 08), a list of all Mailbox Databases, their names, Database file location and log files will be listed.

Get-MailboxDatabase | Select Name,EDB*,LogFolder* | fl

Note:
In this example we are listing all Mailbox Databases of our organization (because we have a single server). If your environment has more than one server, then you should use –Server <ServerName> in the Get-MailboxDatabase cmdlet to narrow down your results.

Image
Figure 08

The next step is to remove the Mailbox Database from Exchange, and afterwards the removal of the files on the file system. A list of three cmdlets which list the mailbox databases and their location, and to remove the database and log folder is listed below, we can also see those three cmdlets in action on Figure 09.

Remove-MailboxDatabase <DBName>

Remove-Item <EDB-Location-with-file-name.edb>

Remove-Item <Log Location-Path> -Force -Recurse

Image
Figure 09

The last step is to remove the folder that was used during the swap of the Mailbox Databases. There is also the old folder that was used to move the log files in the remaining databases.

Some hints when working with dial tone recovery…

First, there is no such thing as a complete guide for disaster recovery that will have all steps to restore your environment, and the reason is simple, each environment is unique in a certain way. The best thing that an administrator can do is to make sure that he is prepared and has enough practice in a lab ot the process to restore.

Nowadays, it is easy to have a lab to test the procedures. If the company has virtualization, you can create your own Active Directory/Exchange Organization to test it without affecting production. If you do not have resources in house, then use Azure to spin your test environment.

Hint #01 – Exchange Recovery Databases limitation

There are several limitations on a Recovery Database, the most important is that we can have only one per server mounted on a server.

A good thing is that the Recovery Databases do not count towards the number of Mailboxes on a server, especially when the Standard edition is used since the limit is only five mounted databases at any given time.

Hint #02 – Location of the Temporary Databases

The location used to store the temporary database at the beginning was the same that we used to restore the original database. Keep that in mind when starting the dial tone recovery process, it is better to create the Temporary on the final location, which will contain enough space for the restored database.

Hint #03 – Document the Mailbox and their Mailbox Databases

Before starting the dial tone recovery process, it may be a best practice to document the distribution of the mailboxes and their mailbox databases. That is not a requirement, but nice to have in cases where we have several databases being affected and we move all mailboxes to a single temporary database. Having this report handy makes it easy to find the users to restore the information afterwards. The following cmdlet can be used to generate this report (Figure 10).

Get-Mailbox | Select Name,DisplayName, Database

Image
Figure 10

If you want to generate a csv report that you can use later in Excel where you can filter data, then we need to add | Export-CSV <file> -NoTypeInformation and the results will be similar to Figure 11.

Image
Figure 11

Conclusion

In this article, we restored information from the Recovery Database to the production database that is the last step in the dial tone recovery process. After completing the restore of the service, we validated the steps required to remove the databases and files no longer in use in the Exchange Server.

If you would like to read the other parts in this article series please go to:

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top