SQL Server Performance

DTC in an Active/Active Cluster

Discussion in 'SQL Server 2005 Clustering' started by kevin.shipley, Oct 5, 2007.

  1. kevin.shipley New Member

    I have an active/active setup with 3 groups. Two SQL Groups and one cluster group that also contains the DTC. I am 99% sure that I setup everything correctly and everything appears to be running fine. The issue is that in SQL Mgmt Studio, the instance that is running on the physical node that owns the Cluster group (therefor has the DTC) shows the Distributed Transaction Coordinator as online. The instance running on the other node show it as offline. Is this correct behavior? I am not a SQL Expert, and know enough to get things up and running and maintain them. Thanks in advance!
  2. satya Moderator

    Welcome to the forum.
    Have you checked whether SQL has been installed without any errors on both the nodes?
    I believe it may be not, MSDTC should be in it's own group separate from the other cluster groups. Read this article for details http://support.microsoft.com/kb/301600/en-us fyi
  3. kevin.shipley New Member

    The summary.txt shows "successful" for everything. I have not looked through the detailed logs yet. There are a lot of logs, any idea which log problems associated with MSDTC would be in?
  4. satya Moderator

    Best one to go with Cluster log in addition to SQL & Eventivewer logs.
  5. kevin.shipley New Member

    I found two of these in the event log:
    The MS DTC service was started before the cluster service on this cluster node. This service will now be stopped. If MSDTC has been configured to run on a cluster, the MS DTC resource will be brought online by the cluster service when it starts. Error Specifics: d:srvrtmcomcomplusdtcsharedmtxclumtxclusetuphelper.cpp:932, Pid: 3192, CmdLine: "C:WINDOWScluster
    esrcmon.exe" -e 1328 -m 1332 -p 2720
    I had not followed to directions to open up MSDTC to network access. I have done that now, is there a way to "repair" SQL now that I have have MSDTC correctly configured?
  6. kevin.shipley New Member

    Sorry - meant to post this error
    MS DTC is unable to communicate with MS DTC on a remote system. MS DTC on the primary system established an RPC binding with MS DTC on the secondary system. However, the secondary system did not create the reverse RPC binding to the primary MS DTC system before the timeout period expired. Please ensure that there is network connectivity between the two systems. Error Specifics:d:
    tcomcomplusdtcdtccmsrciomgrsrv.cpp:1018, Pid: 336
    No Callstack,
    CmdLine: C:WINDOWSsystem32msdtc.exe

  7. satya Moderator

    It could be a protocol problem:
    Verify that your network name resolution works. Verify that the servers can communicate with one another by name, not just by IP address. Check in both directions (for example, from server A to server B and from server B to server A). You must resolve all name resolution problems on the network before you run your distributed query. This may involve updating WINS, DNS, or LMHost files. For more information, see the following article in the Microsoft Knowledge Base:

    169790 (http://support.microsoft.com/kb/169790/EN-US/) How to Troubleshoot Basic TCP/IP Problems
  8. kevin.shipley New Member

    I have confirmed that all names are resolved correctly and pinged in both directions. Physical node names, virtual server names, msdtc name, cluster name. Still no go on the MSDTC status. I appreciate your help so far, do you have any other ideas?
  9. kevin.shipley New Member

    Just found more information. Even though I configured MSDTC Correctly, the following event/settings are being logged in my App Log:
    MS DTC started with the following settings (OFF = 0 and ON = 1):

    Security Configuration:
    Network Administration of Transactions = 0,
    Network Clients = 0,
    Inbound Distributed Transactions using Native MSDTC Protocol = 0,
    Outbound Distributed Transactions using Native MSDTC Protocol = 0,
    Transaction Internet Protocol (TIP) = 0,
    XA Transactions = 0
    Filtering Duplicate events = 1

  10. kevin.shipley New Member

    I have corrected the DTC config issue by recreating the Clustered DTC resources, however, I still have not corrected the SQL Issue. The node that doesnt own the MSDTC Group shows the DTC Resource as stopped in Mgmt Studio.
    MS DTC started with the following settings (OFF = 0 and ON = 1):

    Security Configuration:
    Network Administration of Transactions = 0,
    Network Clients = 1,
    Inbound Distributed Transactions using Native MSDTC Protocol = 1,
    Outbound Distributed Transactions using Native MSDTC Protocol = 1,
    Transaction Internet Protocol (TIP) = 0,
    XA Transactions = 0
    Filtering Duplicate events = 1

  11. satya Moderator

  12. kevin.shipley New Member

    MSDTC rosources is started and running in the cluster. I can move it from Node to Node without problem. If I move it to Node A then the SQL instance on Node A show it online in Mgmt Studio. If i Move it to Node be than the instance on Node B Shows it online. In both cases the instance on the Node that does not own it shows it as stopped in Mgmt Studio. I did have the resource setup as a clustered resource prior to the install, however, I did not have Network Access enabled. I have since enabled it.

    I personally do not have any DTC queries, nor know much about DTC. I have a third party vendor that uses it so I don't have a good way of testing if its working, despite what Mgmt Studio shows me. For all I know, Mgmt Studio could be doing what its supposed to and DTC might be working fine. Can anyone one clarify that for me? Thanks!
  13. satya Moderator

    I doubt on the clien tools on the other node, as if you are not getting any errors or warnings for DTC behaviour when failed over to other node. Further if you are happy to see what you want then you can ignore.

Share This Page