MSDTC in sql server

Chirag Sachdeva 281 Reputation points
2022-03-24T11:25:36.597+00:00

Hi All,

I am tired after googling so much about local MSDTC and clustered MSDTC.

I have few queries regarding MSDTC in SQL Server Cluster.

  1. If post windows 2008, we can use local DTC then why there is a need for clustered DTC?
  2. In clustered DTC, do we need to create DTC role for each node in the cluster? if yes then how to create?
  3. What is MSDTC mapping and when it is required?

Kindly help

Thanks

SQL Server Other
{count} votes

2 answers

Sort by: Most helpful
  1. CathyJi-MSFT 22,396 Reputation points Microsoft External Staff
    2022-03-25T06:18:03.007+00:00

    Hi @Chirag Sachdeva ,

    > If post windows 2008, we can use local DTC then why there is a need for clustered DTC?

    With Windows 2008 Failover cluster and later you do not need to cluster MSDTC to utilize the functionality of the MSDTC service. This is because MSDTC was re-designed in Windows 2008 and unlike Windows 2003 if Windows Failover Cluster was installed you had to cluster MSDTC. This is no longer the case when using Windows 2008, since by default MSDTC service is running locally, even with Failover Clustering installed.

    Currently there is some documentation that states you need to have a MSDTC Resource in your cluster.
    I want to start out by emphasizing that the statement "You must install MSDTC is not 100 percent accurate." The statement does not take into account the OS and the changes with MSDTC in Windows 2008 and later.

    For others two question, I suggest you reading this MS blog MSDTC Recommendations on SQL Failover Cluster, you can get the answers from this blog. This blog list common questions with MSDTC (Microsoft Distributed Transaction Coordinator) when used with SQL Server Failover Clustered instances to include current recommendations and best practices.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".


  2. Tom Phillips 17,771 Reputation points
    2022-03-30T14:15:17.883+00:00

    You do not need to do anything with MSDTC if you are using SQL Server 2008+ and Windows 2008+. This is all handled during installation on your cluster automatically.

    https://techcommunity.microsoft.com/t5/sql-server-support-blog/msdtc-recommendations-on-sql-failover-cluster/ba-p/318037

    Again I want to put emphasis on the fact that for Windows Server 2008 and later it is NOT required to cluster MSDTC to utilize the features of the MSDTC service.

    Are you having a problem with MSDTC in your clustered environment?

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.