Exchange Recovery Database (RDB) is a special kind of database that helps Exchange administrators mount a copy of the mailbox database or extract the Exchange mailbox and its data items as a part of the recovery process. An Exchange administrator can easily export the data from RDB to a new folder or merge it into an existing mailbox.
However, RDB can only be accessed by Exchange administrators and not by the end users. It also enables administrators to recover the data from the available backup or copy of the database without obstructing the user access to Exchange mailboxes and data.
In this post, you will learn about the situations where Recovery Database (RDB) is used and the process of creating a Recovery Database in Exchange Server 2019.
Table of Contents
Situations where you can Use Exchange Recovery Database
Recovery Database can be used for Exchange mailbox or database recovery in the following situations:
- Mailbox Recovery
RDB can be used to recover individual mailboxes from backup even after the mailbox retention period ends. It helps you restore the mailbox to a specific folder or merge the extracted data to an existing mailbox on the server.
- Dial Tone Recovery
RDB can be used to perform recovery when the original database is restored from backup as a part of dial-tone recovery. You can perform recovery on the same server or host the dial tone database on any other server and then recover data from the recovery database.
- Specific Mailbox Items Recovery
You can restore accidentally deleted individual mailbox items from the mailbox database using RDB.
Note: Exchange Recovery Database cannot be used to restore multiple databases or Public Folders. It can be used only for recovering individual databases, mailboxes, or mailbox items.
How to Create a Recovery Database in Exchange Server?
You can create a Recovery Database using the New-MailboxDatabase PowerShell cmdlet. Follow these steps to create Recovery Database and use it for restoring Exchange mailboxes and mailbox items.
Step 1: Restore Database from Backup
The first step is to restore the database from the backup. Here, we will use the Windows Server Backup to restore the latest database backup. Follow the below steps to restore the backup version stored on the same server or another location.
- Open Windows Server Backup and click on the Recovery option.
- Choose the location where the backup is stored. If the backup is stored on the same server, choose ‘This server (SERVERNAME)’ option. If the backup is stored on another server, choose ‘A backup stored on another location’ and click ‘Next’.
- Select the latest backup date and time.
- Choose the Files and Folders option to restore the Exchange database and log files.
- Choose the database and log files that you want to restore.
- Select a location where you want to restore the database and log files backup. You can choose the original location or any other location as a recovery destination.
- Confirm and enter the admin credentials.
- Click on the Recover option to initiate the database restore process.
Step 2: Check Database State
Now that the .edb and .log files are restored from the backup, check the status of database by using the following command:
If the database is in Dirty Shutdown state, it cannot be mounted directly. To bring the database in Clean Shutdown state, you need to attempt Soft Recovery. Run the following command:
Eseutil /r E01 /l “C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Logs” /d “C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\RestoredDatabase.edb” /i
Once the soft recovery is completed, check the database status again by using the following command:
Note: If the Soft Recovery fails to bring the database to Clean Shutdown state, you might need to perform Hard Recovery. It is to be noted that Hard Recovery can lead to loss of data. You can use the ESEUTIL /P command to perform hard recovery.
Step 3: Create a Recovery Database
Now that the database is restored from backup and it is in the Clean Shutdown state, you can use the New-MailboxDatabase cmdlet to create a Recovery Database (RDB).
The following syntax can be used to create a recovery database:
New-MailboxDatabase -Server Stellar -Name RDB01 -Recovery -EdbFilePath “C:\Recovery\RDB01.EDB” -LogFolderPath “C:\Recovery\RDB01”
Step 4: Check if the Recovery Database is Created
To verify the creation of the Recovery Database, run the following command in the Exchange Management Shell:
Get-MailboxDatabase | Format-List
The Recovery Database should be displayed in the list.
Step 5: Mount Recovery Database on the Server
Now that the Recovery Database is created, you can mount the database using the following command:
You can run the following command to check the mounting status:
Get-MailboxDatabase -Status| Format-List name, server, mounted -AutoSize
Step 6: Extract Data from Recovery Database
Once the Recovery Database is mounted successfully, extract the data and save it in a folder or merge it with an existing mailbox. Follow the below steps:
- Check the mailboxes in the Recovery Database using the following command:
Get-MailboxRestoreRequest -Database ‘RDBName’
- Find and take note of the GUID name of the mailboxes by using the following command:
Get-MailboxStatistics -Database ‘RDBName’ | Format-List DisplayName, mailboxGUID
- Now, you can restore all the mailbox items from the recovery database by using the GUID name of the mailbox on the source server and the alias name of the mailbox on the target server. Use the following command:
New-MailboxRestoreRequest -Name “StellarInfo1” -SourceDatabase ‘RDBName’ -SourceStoreMailbox MailboxGUID -TargetMailbox “StellarInfo2” TargetMailboxAlias -AllowLegacyDNSMismatch
The above command will restore the mailbox and mailbox data from the Recovery Database to the original mailbox.
- You may also restore the mailbox to the Archive mailbox by using the following command:
New-MailboxRestoreRequest -SourceDatabase RDBName -SourceStoreMailbox “StellarInfo1” -TargetMailbox “StellarInfo2” -TargetIsArchive
- You can also extract a specific folder from the mailbox using the following command:
New-MailboxRestoreRequest -SourceDatabase RDBName -SourceStoreMailbox “StellarInfo1” -TargetMailbox “StellarInfo2” -IncludeFolders “Inbox”
- You can also include subfolders in the recovery process using subfolder /* at the end of the folder name. For example:
New-MailboxRestoreRequest -SourceDatabase RDBName -SourceStoreMailbox “StellarInfo1” -TargetMailbox “StellarInfo2” -IncludeFolders “Inbox/*”
- To exclude folders, you can use the following command:
New-MailboxRestoreRequest -SourceDatabase RDBName -SourceStoreMailbox “StellarInfo1” -TargetMailbox “StellarInfo2” -ExcludeFolders “#Drafts#”,”#DeletedItems#”
Step 7: Check Mailbox Restore Requests Status
It is vital to check the status of the mailbox restore request as it might get stuck or fail. Run the following command to check the status of the mailbox restore request:
Step 8: Remove Mailbox Restore Requests
Once the mailbox items are restored, you need to remove the mailbox restore requests. Otherwise, the requests will remain active.
A Recovery Database (RDB) is a part of the Exchange recovery process and helps restore the missing mailbox items even after the retention period has elapsed. Therefore, it is important to create a recovery database in Exchange Server. You can create a recovery database using the above-mentioned process but it requires a healthy backup. If the backup is not available or obsolete, you cannot create an Exchange Recovery Database or restore the missing or corrupted mailbox items. Also, it cannot be used to recover a failed Exchange Server or mailboxes from a damaged Exchange database and multiple databases.
In such cases, you can use a professional Exchange recovery tool, like Stellar Repair for Exchange. It helps you extract the mailboxes from damaged or corrupted Exchange mailbox database files and save them in PST format. It does not require a backup of any database or log files or additional permissions to use. Also, this Exchange database repair software allows you to export the mailbox data including Public Folders directly to mailboxes on a live Exchange Server.