Configuring Exchange 2010 Database Availability Groups

06 Dec

Exchange 2010 RTM has been released a few weeks back. Exchange 2010 came with some cool new features compared to previous versions and also some major differences in the field of High Availability. All High availability scenarios which came with previous Exchange server versions have been removed in this version.

Exchange server 2010 doesn’t have LCR, CCR or SCR high availability options, instead it has DAG (Database Availability Group) . You can achieve your high availability goal with DAG adding minimum 2 database copies and up to 16 database copies. DAG uses Continues replication technology that was first introduced with Exchange 2007 and DAG is essentially a combination of CCR and SCR that was available in Exchange 2007. You can find more information of DAG here.

Best practices of Database Availability Group

  1. Need to run two network adaptors on DAG nodes to support Windows Clustering.
  2. Be aware of choosing server hardware for DAG nodes. Because exchange DAG node should have the ability to manage load of replica of other master copies.
  3. Should be plan proper IP address schema for current and future requirements.
  4. Running NLB and DAG on same node isn’t support by Microsoft.
  5. Must disable Power Management setting on both BIOS and windows configurations.
  6. Test failover and failback before migrating users to DAG databases.
  7. Need to monitor DAG health periodically.
  8. Make Sure Database names are unique.
  9. Periodically move the master database among other DAG nodes to verify DAG is working properly.

In this article I’ll show you how to configure DAG using Exchange management Shell. Here I’ll use two DAG member servers, one  Hub transport, client access server and one domain controller.

Step 1 – Creating  new DAG

Create new database availability group using Exchange management shell. Run CMDlet  given below in the exchange management shell. This Cmdlet contains file share witness server name, DAG IP address for MAPI network and DAG name. (See figure 1)

New-DatabaseAvailabilityGroup -Name E14-DAG -WitnessServer EX10-CAHT -WitnessDirectory “c:\FSW” -DatabaseAvailabilityGroupIPAddresses –Verbose


Figure 1 – Creating new DAG

Step 2 – Add first node to the DAG

At this point  DAG has been created, but DAG has no DAG members yet. So we should run cmdlet given below to add EX10-MB01 server to DAG. (See figure 2).

Add-DatabaseAvailabilityGroupServer -Identity E14-DAG -MailboxServer EX10-MB01 -Verbose


Figure 2 – Adding first node to the DAG.

Step 3 – Add second node to the DAG.

Add-DatabaseAvailabilityGroupServer -Identity E14-DAG -MailboxServer EX10-MB02 -Verbose


Figure 3 – Adding second node to the DAG.

Step 4 – Verify DAG through the Exchange Management Shell

Now we have finished creating DAG and adding members to that . Now we can see some new information via EMS made by the DAG.

Use Get-DatabaseAvailabilityGroup Cmdlet to verify DAG installation. Run this CMDlet in EMS. (See figure 4).

Get-DatabaseAvailabilityGroup -Identity E14-DAG –Status


Figure 4: Display operational Servers  

We can see E14-DAG has been added to the Exchange and EX10-MB01 and EX10-MB01 have been added to the DAG as members.

Run Get-DatabaseAvailabilityGroupNetwork Cmdlet to see available Network settings for the DAG. Run the CMdlet given below  in EMS. (See figure 5).

Get-DatabaseAvailabilityGroupNetwork -Identity E14-DAG


Figure 5: Display available Network Settings for the DAG.

At this point we have created the DAG.  Now we should add the Database copies to the DAG. Run CMDlet given below to replicate MB01 with EX10-MB02 and replicate MB02 with EX10-MB01 servers. See figure 6.

Add-MailboxDatabaseCopy -Identity MB01 -MailboxServer EX10-MB02


Figure 6: Adding MB01 database to EX10-MB02

Add-MailboxDatabaseCopy -Identity MB02 -MailboxServer EX10-MB01


Figure 7 : Adding MB02 database to EX10-MB01

At this point we have configured the DAG successfully. Now we should verify if whether  the DAG is configured or not . 

Run Get-MailboxDatabaseCopyStatus to monitor the overall health check of database copies. (See figure 8).


Figure 8: Check overall health status of the DAG

We can see information of database copies by running the below CMDLets. Run below CMDlet to see MB01’s Database copy information. See highlighted area. (See figure 9).


Figure 9: See MB01 database copy information.

Run Test-ReplicationHealth CMDlet to check replication status of DAG. (See figure 10).


Figure 10 : Test replication health of DAG.

In this article I have guided you in deploying Database Availability Group, Which is the coolest feature out of many in the new Exchange 2010. I’ll show you how to test failover scenarios in a future article.


7 responses to “Configuring Exchange 2010 Database Availability Groups

  1. franckwang

    December 7, 2009 at 8:16 am

    Good article. With more picture to configure DAG. Thanks for share.

  2. gavinzl

    December 7, 2009 at 8:17 am

    very cool! It is great!

  3. Exchange Geek

    December 7, 2009 at 12:13 pm

    Great article.! Keep up nice work.

  4. jamesluo001

    December 9, 2009 at 11:41 am

    Awesome!! Very good walkthrough

  5. geraldbai

    December 9, 2009 at 12:04 pm

    Das ist unbedingt wunderbar!

  6. Amit Tank

    December 13, 2009 at 6:43 pm

    Great points! Waiting for more post on this topic… :)

  7. rodrigosorbara

    December 17, 2009 at 5:31 am

    Great walkthrough! =)


Get every new post delivered to your Inbox.

Join 74 other followers

%d bloggers like this: