How to cluster the DTC service for an Always On availability group

Applies to: yesSQL Server (all supported versions) - Windows only

This topic describes the requirements and steps for clustering the Microsoft Distributed Transaction Coordinator (DTC) service for Always On availability groups. For additional information regarding distributed transactions and Always On availability groups, see Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server).

Checklist: Preliminary Requirements

Task Reference
Ensure all nodes, services and the Availability Group have been configured correctly. Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server)
Ensure Availability Group DTC requirements have been met. Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server)

Checklist: Clustered DTC Resource Dependencies

Task Reference
A shared-storage drive. Configuring the Shared-Storage Drive. Consider using drive letter M.
A unique DTC Network Name resource. The name will be registered as a cluster computer object in Active Directory.

Make sure that either of the following is true:

• The user who creates the DTC Network Name resource has the Create Computer objects permission to the OU or the container where the DTC Network Name resource will reside.

• If the user does not have the Create Computer objects permission, ask a domain administrator to prestage a cluster computer object for the DTC Network Name resource.
Prestage Cluster Computer Objects in Active Directory Domain Services
A valid available static IP address and the appropriate subnet mask for that IP address.

Cluster the DTC Resource

Once you have created your Availability Group resource, create a clustered DTC resource and add it to the Availability Group. A sample script can be seen at Create Clustered DTC for an Always On Availability Group.

Checklist: Post Clustered DTC Resource Configurations

Task Reference
Enable network access securely for the clustered DTC resource. Enable Network Access Securely for MS DTC
Stop and disable local DTC service. Configure How a Service Is Started
Cycle the SQL Server service for each instance in the Availability Group. Failover the Availability Group as needed. Perform a Planned Manual Failover of an Availability Group (SQL Server)

Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service

RESOURCES

More Information on Testing DTC on Availability Groups:

Monitoring Always on Availability groups system views

Create Availability Group Step by Step

SQL Server 2016 DTC Support in Availability Groups

External link: Configure DTC for a clustered instance of SQL Server with Windows Server 2008 R2