Configuring MSDTC on a cluster. Does it go on Shared Disk?

  • Im configuring the MSDTC Service on a newly created cluster. I have to select storage for the service. Does this storage have to be shared storage or can it be storage only on one node? MSDN doesnt specify.

    I do have a shared volume ,but i cannot select it when setting up the DTC service on the cluster, but i can select a non shared volume.

  • There are multiple ways to configure MSDTC for a cluster (see this excellent explanation by Cindy Gross). I highly recommend having one MSDTC per cluster instance and having DTC as a clustered resource running on one of the shared disks within the cluster.



    Shamless self promotion - read my blog http://sirsql.net

  • Must be a shared disk and I've seen it requires a drive letter and won't work with a mount point (can't find a Microsoft link to confirm this).

    ______________________________________________________________________________________________
    Forum posting etiquette.[/url] Get your answers faster.

  • calvo (2/8/2012)


    Must be a shared disk and I've seen it requires a drive letter and won't work with a mount point (can't find a Microsoft link to confirm this).

    but when a disk is added as shared storage (shared volume) it becomes a mount point ( goes into c:\clusterStorage\Volume1)

  • Correct, you can't use a mount point for MSDTC (I wrote about it here, it's not well documented).

    You could however use the root disk where you are placing your mount points. MSDTC really doesn't use a lot of data (for example on a fairly well used system with distributed transactions my MSDTC folder is less than 20MB in size).



    Shamless self promotion - read my blog http://sirsql.net

  • Ok, Im a little confused now. I cannot use a mount point for the DTC, thats cool. But i want the DTC to be a clustered service, so it has to be on shared storage.

    But here's the problem, all shared storage is set up on each node as a mount point.

    Coupled to this the fact that when i try to cluster the DTC in Cluster Admin, I can only select Storage thats not shared. So im unsure where to place the DTC to ensure fault tolerence.

  • Your mount points must live on a root drive. You create the DTC resource and then specify that root drive as a dependency.

    Here's a quick couple of bullet points that I keep to hand for configuring MSDTC as a clustered resource

    To Install MSDTC for this instance

  • Right click on service tree -> Add resource -> Distributed Transaction Coordinator
  • Set dependencies for SQL System Root Disk & Network Name
  • Map DTC to SQL instance

  • Open elevated command prompt
  • Msdtc –tmMappingSet –name <SQLInstance>_Mapping –service MSSQL$<SQLInstance> –ClusterResourceName “MSDTC-SQL Server (<SQLInstance>)”


  • Shamless self promotion - read my blog http://sirsql.net

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply