MSDTC and SQL Server on a cluster

Through this blog, we will try to address commonly asked questions about MSDTC and SQL Server on a cluster. All this information is available in BOL and KB articles, but we will summarize it here for your convenience.


  • Do I need to install MSDTC on my SQL Server 2005 cluster?
    Before installing SQL Server 2005 on a failover cluster, Microsoft strongly recommends that you install and configure Microsoft Distributed Transaction Coordinator (MS DTC) on Windows 2000 and Windows Server 2003 operating systems. 

    Failure to cluster MS DTC will not block SQL Server 2005 Setup, but SQL Server 2005 application functionality may be affected if MS DTC is not properly configured.


  • What is MSDTC used for?
    SQL Server 2005 requires MS DTC in the cluster for distributed queries and two-phase commit transactions, as well as for some replication functionality.


  • Should MSDTC be a clustered resource? 
    Microsoft only supports running MSDTC on cluster nodes as a clustered resource. We do not recommend or support running MSDTC in stand-alone mode on a cluster. Using MSDTC as a non-clustered resource on a Windows cluster is problematic. This configuration is problematic because transactions could be orphaned and you may experience data corruption if a cluster failover occurs.


  • Should MSDTC be in its own resource group?
    To help ensure availability between multiple clustered applications, Microsoft highly recommends that the MS DTC have its own resource group and resources. If MS DTC cannot be configured to have its own resource group, the recommended alternate choice is to use the Cluster group and Quorum drive.


Other Resources
Before Installing Failover Clustering in SQL 2005

How to configure Microsoft Distributed Transaction Coordinator on a Windows Server 2003 cluster

How to configure MSDTC in a Windows 2000 cluster environment

How to rebuild or move a MSDTC installation to be used with a SQL failover cluster


How to re-install MSDTC on Windows XP?


Hope this helps!


POSTED BY : Sanchan Saxena

Comments (5)

  1. Vishe says:

    MY MSDTC is not working, till cluster is working fine.Only i can not work with another isntance.

  2. Jiri says:

    Hi All,

    I have a question about MSDTC.

    We have 2 node Win2003 R2 Enterprise with SP2 cluster, SQL Server virtual is installed on one node.

    It is SQL2005 Enterprise x64 with SP2, MSDTC is configured as cluster resource in cluster group.

    In Management studio in section Management there is a Distributed Transaction Coordinator.

    When the two cluster groups are on the same node the Distributed Transaction Coordinator in Management Studio is green,

    but when the cluster group with MSDTC resource is on another node (and MSDTC resource is online)

    the Distributed Transaction Coordinator in Management Studio is red.

    It is normal ?

  3. Ras says:

    I get the following Error ewery ca. 16th hour on SQL2005 cluster on 2003 serv. Any thoughts?

    Cluster resource ‘MSDTC’ in Resource Group ‘MSDTC’ failed.

    Event Type: Error

    Event Source: ClusSvc

    Event Category: Failover Mgr

    Event ID: 1069

    DateTime: 08.05.2007 05:32:58

    DateTime: 07.05.2007 13:18:56

    DateTime: 06.05.2007 21:12:53

    DateTime: 06.05.2007 05:05:34

    Cluster resource ‘MSDTC’ in Resource Group ‘MSDTC’ failed.

  4. Mark Westerman says:

    The trouble with putting MSDTC in tis own group is that you van not make it a dependency of SQL. We get problems with Biztalk when you fail over nodes and SQL comes online before MSDTC.

    To fix this we moved the MSDTC resource to the SQl group so that we could make it a dependancy of SQL Server service.

    Any thoughts?



  5. Anthony Thomas says:

    Then why do the KB articles flop all over the place.  I’ve been watching the historical revisions of these and cannot get a consistent answer:

    In a dedicated resource group, in the SQL Server or Exchange resource group, or the older one, on the Quorum resource.

    Which is it, and can we stick with it?

    Anthony Thomas