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

APPLIES TO: yesSQL Server (Windows only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

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
Checkbox Ensure all nodes, services and the Availability Group have been configured correctly. Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server)
Checkbox 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
Checkbox A shared-storage drive. Configuring the Shared-Storage Drive. Consider using drive letter M.
Checkbox 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
Checkbox 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
Checkbox Enable network access securely for the clustered DTC resource. Enable Network Access Securely for MS DTC
Checkbox Stop and disable local DTC service. Configure How a Service Is Started
Checkbox 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


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