SQL Server with Mr. Denny

Nov 13 2008   11:00AM GMT

What exactly is MSDTC, any when do I need it?

Denny Cherry Denny Cherry Profile: Denny Cherry

MSDTC (aka Microsoft Distributed Transaction Control) is a piece of software which a lot of people use, but they don’t really know what it does, or how it works.

MSDTC is used by SQL Server and other applications when they want to make a distributed transaction between more than one machine.  A distributed transaction is simple a transactions which spans between two or more machines.  The basic concept is that machine 1 starts a transaction, and does some work.  It then connects to machine 2 and does some work.  The work on machine 2 fails, and is cancled.  The work on machine 1 needs to then be rolled back.

DTC is for the most part a black box.  It just sort of works without much interaction exept for the initial setup.

The only time that DTC needs to be used is when more than one physical computer is going to be involved in an explicet distributed transaction.  If you are going from one instance to another on the same server DTC will not be needed.  If you are going from one instance to another within a cluster you will want to have DTC available as you may have to go between nodes of the cluster as you have no guarantee that the instances will be on the same physical node.

I hope this helps explain DTC a little bit at least.  If you have specific questions about DTC, feel free to post them below and I’ll try and find the answers for you.


4  Comments on this Post

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • Msakip
    hi i want to learn about sql 2008 failover clustering on windows 2008 server. what is the order for installation? do we have to install MS DTC , and then the SQL instance? or we have to install sql cluster failover instance and then add MS DTC resource? and do we need to give a different ip to MS DTC? thanks
    0 pointsBadges:
  • Denny Cherry
    Msakip, It is recommended that you install MSDTC on the cluster first that way SQL Server 2008 doesn't show a warning during the install. However MSDTC can be installed afterward. When using Windows 2003 you don't need a dedicated IP for MS DTC. Windows 2008 does require a dedicated IP for MS DTC.
    66,070 pointsBadges:
  • Dadio
    Hi Denny, I am new here and want to thank you for this valuable info. I have a 2 node cluster....win 2003. One node is iis server and the second is a file server. both are DC's. I have inherited this system configured and do not have much knowledge about it. I have noticed in the past few months that every time i reboot the iis server (where there is a MS DTC resource)... it fails OK to the other node. But when it tries to fail back.....the DTC Fails...which cause the group to fail again to the other node....after few tries...the Cluster service on the IIS server stops. only if i shutdown the SAN and the 2 nodes...it is being resolved upon rebooting. Now...i don't really know if i need this DTC on there since it is not SQL server....but let's just say.... i want to delete every trace of this DTC on both nodes and recreate it.... Can you give me some tips on how to do it? I am shiting myself every time this server needs a restart... cheers, Dadio
    0 pointsBadges:
  • Denny Cherry
    [...] Posted by mrdenny @ http://itknowledgeexchange.techtarget.com/sql-server/what-exactly-is-msdtc-any-when-do-i-need-it/ [...]
    0 pointsBadges:

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to: