MSDTC Which way?

  • Hi all,

    (Our System)

    We are in the middle of creating hopefully a all singing all dancing multisite (geo) failover cluster and installing multiple SQL instances. We are using IBM XIV storage at both sites and implementing its replication technology.

    While I have designed the papers and written the implementation plans and even built a test pre production version, I am now going over every article I can find on best pratices. The more you read though the more you find and have questions 😀

    (My Question)

    MSDTC

    As part of the cluster installation and validation you need a default MSDTC installing.

    Done.

    For best practice we are assigning each SQL instance with its own DTC

    However I have discovered there are 2 ways of doing this and wonder what is the difference between the 2

    For example,

    2 instances of SLQ installed on the cluster (SQL1,SQL2)

    Do I move and map the default DTC created above which uses its own disk and has its own IP address to the resource group of SQL1

    Then create a new DTC resource by right clicking services and applications and selecting - configure a service or application. Assign another disk and ip address and then map this to SQL2

    Or do I leave the default DTC in its own resource group and right click on both SQL1 and SQL2 resource - add resource - More reources.. - Add DTC ?

    This option does not ask you for an IP address or Disk though?

    So what is the difference and which is the best way?

    Sorry for the long post and thanks in advance

  • Hmm Not sure if anyone knows the answer or doesnt understand my question.

    After furthur investigation it appears the best practice is to install seperate DTC resources with IP addresses and disks to each SQL resource.

    However I would still like to understand the difference of the ways you can install DTC

    Example..

    You can right click Services and applications > configure a service or application and then go through the add DTC wizard and provide an IP address and disk.

    You can also right click on a sql resource that has no DTC in it and select Add resource > more resources > Add Distributed transaction co-ordinator.

    Using this option does not ask for an IP address or a disk

    Why Not?

    and what is the difference?

  • I'm building out an Active/Active/Passive cluster but am not an expert. From what I've read on Technet you can install multiple instances of MSDTC but you dont have to. If it is installed on the cluster it will be listed as the default MSDTC instance and if there is a call from a client on Node B where you didnt explicitly install it it will 'see' the default MSDTC instance on the Cluster. It doesnt have to be installed on Node A and Node B and certainly not Node C (failover).

    Here is the article. Please correct me if I'm wrong.

    http://blogs.technet.com/b/askcore/archive/2009/02/18/how-to-configure-multiple-instances-of-distributed-transaction-coordinator-dtc-on-a-windows-server-failover-cluster-2008.aspx

    'nix

  • Thanks for the reply nix,

    Correct you can have multiple MSDTC's installed and this is actually preferred and should be best practice. If your application requires the need for DTC and you just have a default what would you do if it became corrupt or the disk that the DTC depends upon becomes corrupt?

    Hence the best practice is to create a DTC for each SQL resource. If that then fails then you have the default as backup.

    The question I rearlly need answering is what is the difference between the 2 ways they can be installed? (see my second post)

    But thanks again nix

Viewing 4 posts - 1 through 3 (of 3 total)

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