Create a Database Availability Group

Applies to: Exchange Server 2010

A database availability group (DAG) is a set of up to 16 Microsoft Exchange Server 2010 Mailbox servers that provide automatic database-level recovery from a database, server, or network failure. Mailbox servers in a DAG monitor each other for failures. When a Mailbox server is added to a DAG, it works with the other servers in the DAG to provide automatic, database-level recovery from database, server, and network failures.

When creating a DAG, you provide a unique name for the DAG of up to 15 characters. In addition to providing a name for the DAG, you must also assign one or more IP addresses (either IPv4 or both IPv4 and IPv6) to the DAG. The IP addresses you assign must be on the subnet intended for the MAPI network and must be available for use. You can assign static IP addresses to the DAG by using the DatabaseAvailabilityGroupIpAddresses parameter. If you use the Exchange Management Console (EMC) to create the DAG, or if you use the New-DatabaseAvailabilityGroup cmdlet without the DatabaseAvailabilityGroupIpAddresses parameter, the task will configure the DAG to use Dynamic Host Configuration Protocol (DHCP) to obtain the necessary IPv4 addresses. If you don't want the DAG to use DHCP, you can use the Set-DatabaseAvailabilityGroup cmdlet to configure one or more IP addresses for the DAG after it has been created. If your system is configured to use IPv6, the task will also attempt to automatically assign the DAG one or more IPv6 addresses.

Optionally, you can also specify a witness server and witness directory. If you do specify a witness server, we recommend that you use a Hub Transport server. This allows an Exchange administrator to be aware of the availability of the witness.

The following combinations of options and behaviors are available:

  • You can specify only a name for the DAG and leave the Witness Server and Witness Directory check boxes cleared. In this scenario, the wizard will search for a Hub Transport server that doesn't have the Mailbox server role installed. It will automatically create the default directory and share on that Hub Transport server and use that server as the witness server.
  • You can specify a name for the DAG, the witness server that you want to use, and the directory you want created and shared on the witness server.
  • You can specify a name for the DAG and the witness server that you want to use, and leave the Witness Directory check box cleared. In this scenario, the wizard will create the default directory on the specified witness server.
  • You can specify a name for the DAG, leave the Witness Server check box cleared, and specify the directory you want created and shared on the witness server. In this scenario, the wizard will search for a Hub Transport server that doesn't have the Mailbox server role installed, and it will automatically create the specified directory on that server, share the directory, and use that Hub Transport server as the witness server.

Important

If the witness server you specify isn't an Exchange 2010 server, you must add the Exchange Trusted Subsystem universal security group to the local Administrators group on the witness server. These security permissions are necessary to ensure that Exchange can create a directory and share on the witness server as needed. If the proper permissions aren't configured, the following error is returned:
Error: An error occurred during discovery of the database availability group topology. Error: An error occurred while attempting a cluster operation. Error: Cluster API "AddClusterNode() (MaxPercentage=12) failed with 0x80070005. Error: Access is denied."

Looking for other management tasks related to DAGs? Check out Managing Database Availability Groups.

What Do You Want to Do?

  • Use the EMC to create a database availability group
  • Use the Shell to create a database availability group

Use the EMC to create a database availability group

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Database availability groups" entry in the High Availability Permissions topic.

  1. In the console tree, navigate to Organization Configuration > Mailbox.
  2. In the action pane, click New Database Availability Group.
  3. On the New Database Availability Group page, provide the following information for the new DAG:
    • Database availability group name   Use this box to type a valid and unique name for the DAG of up to 15 characters. The name is equivalent to a computer name, and a corresponding Cluster Network Object (CNO) will be created in Active Directory with the name of the DAG. The name of the DAG isn't used by end users or administrators. It is used only by the system for internal communication and to secure the DAG.

    • Witness Server   Select this check box and use the corresponding text box to specify a witness server for the DAG. If you don't select this check box, the system will attempt to automatically select a Hub Transport server that doesn't have the Mailbox server role installed to be used as the witness server.

      Note

      If you specify a witness server, you must use either a host name or a fully-qualified domain name (FQDN). Using an IP address or a wildcard name isn't supported. In addition, the witness server cannot be a member of the DAG.

    • Witness Directory   Select this check box and use the corresponding text box to type the path to a directory that will be used to store witness data. If the directory doesn't exist, the system will create it for you on the witness server. If you don't select this check box, the default directory will be created on the witness server.

  4. Click New to create the database availability group.
  5. On the Completion page, review the following, and then click Finish to close the wizard:
    • A status of Completed indicates that the wizard completed the task successfully.
    • A status of Failed indicates that the task wasn't completed. If the task fails, review the summary for an explanation, and then click Back to make any configuration changes.
  6. Click Finish to close the wizard.

After you create a DAG, it will be configured to use DHCP. If you don't want the DAG to use DHCP, you can use the Set-DatabaseAvailabilityGroup cmdlet to configure one or more IP addresses for the DAG.

Use the Shell to create a database availability group

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Database availability groups" entry in the High Availability Permissions topic.

This example creates a DAG named DAG1 that is configured to use the witness server EXHUB1 and the local directory C:\DAG1. DAG1 is also configured to use DHCP for the DAG's IP addresses.

New-DatabaseAvailabilityGroup -Name DAG1 -WitnessServer EXHUB1 -WitnessDirectory C:\DAG1

This example creates a DAG named DAG2. The system will automatically select a Hub Transport server that doesn't have the Mailbox server role installed in the same site as the DAG to use as the witness server. DAG2 is assigned a single static IP address because all members are on the same subnet.

New-DatabaseAvailabilityGroup -Name DAG2 -DatabaseAvailabilityGroupIPAddresses 10.0.0.8

This example creates a DAG named DAG3. DAG3 is configured to use the witness server EXHUB2 and the local directory C:\DAG3. DAG3 is assigned multiple static IP addresses because its members are or will be on different subnets.

New-DatabaseAvailabilityGroup -Name DAG3 -WitnessServer EXHUB2 -WitnessDirectory C:\DAG3 -DatabaseAvailabilityGroupIPAddresses 10.0.0.8,192.168.0.8

This example creates a w DAG named DAG4 that is configured to use DHCP. In addition, the witness server will be automatically selected by the system and the default witness directory will be created.

New-DatabaseAvailabilityGroup -Name DAG4

For More Information

Understanding Database Availability Groups

Configure Database Availability Group Properties

Set-DatabaseAvailabilityGroup

New-DatabaseAvailabilityGroup

New-DatabaseAvailabilityGroupNetwork

Add-DatabaseAvailabilityGroupServer