Wednesday, June 5, 2013

Create a Dial tone Database in Exchange 2010 and Perform a Recovery

Create a Dial tone Database in Exchange 2010 and Perform a Recovery


Exchange database is dismounted with Dirty Shutdown and lose the Exchange Transaction Logs.

Use a dialtone mailbox database for disaster recovery

A dialtone database can be used to get users back online while you are restoring a failed mailbox database. It can also be used for disaster recovery if you have 2 exchange servers with no DAG.

If one Exchange server becomes unavailable for an extended period of time, a temporary dialtone mailbox database can be created to allow the users who's mailboxes reside on the unavailable database to continue to send and receive email through OWA, though their previous email/meetings/contacts will not be accessible. When the downed exchange server comes back online, the dialtone mailbox content can be merged back in to the original mailbox database.


1. Database failure in single server Scenario: - Most the of small company’s having standard edition server with single database.

2. Multiple servers without DAG: - If company’s not deployed DAG for database availability we used Dialtone recovery scenario.

Error Message: -

User will not able to access the mailbox over outlook/Webmail.

Resolution for Database failure in single server Scenario: -

Process overview: -
The process includes these main parts:
1. Database becomes unavailable
2. Create the dialtone database
3. Rehome the users on the affected database to the dialtone database
4. Database comes back online
5. Once The affected database is back online.
6. Create a recovery enabled dummy database on the target server that will be replaced by the dialtone database.
7. Overwrite the recovery database with the dialtone database
8. Merge the dialtone database into the production database
9. Clean up the dailtone database and recovery database.

1. Database become unavailable:-
    When user mailbox database goes down for a while, we will get the similar issues in Webmail and outlook will be in disconnected status. 

          Check the Mailbox statistics before creating Dailtone database.

2. Create New Dailtone database in Target server ( In our case MBX02): -
New-MailboxDatabase –Name “Dailtone” –Server MBX02 –EdbFilePath “E:\Database\Dailtone.edb” –LogFolderPath  “E:\Database\Dailtone\Logs”

3. Rehome the affected users to dailtone database: -
Rehome all the users’ mailboxes to new dailtone database, so that user can start send and receive emails without any issues until recover the failed production database.
Set-Mailbox –Identity “Test” –Database –Dailtone.
Do the same things for all the users. If you have more mailboxes in production database, you can use the below command.
Get-Mailbox –Database “ProductionDatabase” | Set-Mailbox –Database “Dailtone”
It will ask you to confirm the modification, Select Y (Yes)

4. Mount the dailtone database: -

Mount the dailtone database for start the normal mail flow. At this point the users will have the ability to send and receive messages from their temporary dialtone mailboxes. The following section will be performed when the inaccessible exchange server comes back online. 

Mount-Database –Identity “Dailtone” –Confirm $false

Downed Exchange Database came online: -
The following below steps will be performed after affected database come online.
Mount the Production database and rehome all the users from dailtone database to production.
Mount-Database –Identity “DB1”
Set-Mailbox –Identity “Test” –Database “DB1”
Check the mailbox statistics before merging Dailtone database and production database. It will give how many emails have per mailbox.
Get-MailboxStatistcs –Database DB1
Dismount the Dailtone database
Dismount-Database –Identity “Dailtone” –Confirm $false.
Transfer the Dailtone database to production: -
This is the portion that most tutorials I found either skipped entirely or did such a poor job of explaining it that it made little sense.
What you are doing here is copying the dialtone database to the exchange server that was previously down. You then create a recovery database on that server and replace the .edb file with your dialtone database's edb file to allow you to restore the dialtone data.
Make note of dailtone database physical location (in our case E:\database\Dailtone.edb)
Create temporary location in E drive ( in our case E:\Recovery)
Create New Recovery Database in MBX02 server.
New-Mailboxdatabase –Recovery –Name “Recovery” –EdbFilePath “E:\Recovery\Recovery.edb” –LogFolderpath “E:\Recovery\Logs” –Server MBX02
Mount the Recovery database: -
Mount-Database –Identity “Recovery” –Confirm $false
It will create Recovery database file and default logs and catalogs files.
Dismount the Recovery database for replace the Dailtone database.
Dismount-Database –Identity “Recovery” –Confirm $false.
Copy the Dailtone database (E:\database\Dailtone.edb) to Recovery database location (E:\Recovery\Recovery.edb) and Rename the Dailtone database to Recovery.edb.
Copy the physical location of the recovery database and change the EDB file path in ADSIEDIT.
Open ADSIEdit, connect to the configuration schema, and navigate to Configuration > Services > Microsoft Exchange > StepStone Group > Administrative Groups > Exchange Administrative Group > Databases. Right Click Recovery Database and change the msExchEDBFile to E:\Recovery\Recovery.edb.
Close the ADSIEDIT.msc and restart the EMC and mount the database.
Mount-Database –Identity “Recovery” –Confirm $false.
Merge the dialtone data into the production database and verify it
1. In the EMC, go to Organization Configuration > Mailbox > Database Management. Right Click DB1 and go to Properties. Under the Maintenance tab check "This database can be overwritten by a restore". Under the Limits tab remove any limits from the DB1 database. Click apply and Ok.
2. Run the following commands to get the statistics of DB1 and Dailtone before the merge. Save the output for both.
Get-MailboxStatistics -Database DB1
Get-MailboxStatistics -Database Dailtone
3. Run the following command to merge the dialtone database content Dailtone into the production database DB1
Get-MailboxStatistics -Database DB1 | Restore-Mailbox -RecoveryDatabase Dailtone
4. (optional) Don't choose (A) Yes to All on the first mailbox, just press (Y) to approve only the first mailbox merge to verify that the command will run successfully
5. When the merge is complete, in the EMC go to Organization Configuration > Mailbox > Database Management. Right Click DB1 and go to Properties. Under the Limits tab restore any limits and click apply then Ok. The overwritten by restore flag is cleared automatically by the restore-mailbox command
6. Run Get-MailboxStatistics -Database DB1 after the merge to get the statistics of the DB1 database. Compare the message count with the count saved from before the merge and verify that the difference matches the statistics from Dailtone. If there are inconsistencies, go back to figure out why.
7. Delete the Dailtone mailbox and Dailtone mailboxes through the EMC, then Delete the mailbox files through explorer from E:\Recovery\Recovery.edb and delete the Recovery database in EMC.
8. Restart the BES services if you have a Blackberry server
9. Verify that mailboxes on DB1 contain the data from the dialtone database.
Keep your commands...