Troubleshooting MSDTC in SQL Servers between W2003 and W2000

  • This is how got DTC to go with Windows 2000 clients to a Windows 2003 SP1 Cluster running SQL 2000 SP3a

    On the W2003 SQL server, Open Contol Panel/Administrative Tools/Component Services

    Navigate to Console Root/Computers/My Computer

    Right mouse click on My Computer & choose Properties

    On the MSDTC Tab, click the Security Configuration Button

    Select the Network DTC Access checkbox, Allow Remote Clients checkbox & Allow Remote Administration checkbox.

    In the Transaction Communication Manager I Checked Allow Inbound & Allow Outbound checkboxes & hit the No Authentication Required radio button.

    I also checked the Enable XA Transactions.

    I suspect I may not need all these options, but I was panicking as I had my live cluster in use but unusable when posting Distributed Transaction.

    This was unfortunately visible to many people in the business

    Anyway, happily it now apears to be working, touch wood....

    Dave J


    http://glossopian.co.uk/
    "I don't know what I don't know."

  • Dave,

    I did all that. It did not let me to run distributed transactions between different versions.

    It is running if started from SQL 2005 CTP Developer Evaluation version on Windows XP workstation. In this case I can run distributed transactions towards SQL Server 2000 on both Windows 2000 and Windows 2003 servers.

    Yelena

    Regards,Yelena Varsha

  • I've been in your shoes. DTC in Windows 2003 has proven problematic. However, the combination of Enabling network DTC access and the COM+ 1.5 Rollup Package 4 (which is in Windows 2003's SP1) has seemed to eliminate those concerns and we're now moving forward with clusters being 2003 instead of 2000.

    K. Brian Kelley
    @kbriankelley

  • Yelena

    I can't comment on different versions of MS SQL as my Distributed transactions are:

    1. Between the SQL Server & Oracle 9i
    2. Between different MS SQL databases on the same server

    Dave J


    http://glossopian.co.uk/
    "I don't know what I don't know."

  • Loopback linked servers (server1 referring to itself through a linked server connection) like what you cite here are not supported. Even says so in Books Online, as Microsoft was so kind to point out to us. We read them the riot act on it, because there are times, especially during migrations, when that would seem to be the simplest solution. However, we didn't get 'em to budge.

    K. Brian Kelley
    @kbriankelley

  • This is what we've done to get DTC working on Windows 2003 servers (some of this has been previously cited in this thread):

    1) Configure Network DTC access:

    How to enable network DTC access in Windows Server 2003 (817064)

    2) Install the Windows 2003 COM+ 1.5 Rollup Package 4 (this is included in SP1):

    Availability of Windows Server 2003 COM+ 1.5 Rollup Package 4 (895250)

    That seems to have done it for us. Windows XP also has COM+ Rollup Packages. I think they are up to 10 on that side.

    K. Brian Kelley
    @kbriankelley

  • Brian,

    I did not do linked, I use Openrowset, which is sort of the same. I just want the simple thing: Connect to each server from the list of servers in my table, select something, like backup state, insert the result in the temp table on the originator server, disconnect. The script should not care where it is run.

    I did install Windows 2003 SP1 on one of the servers and it did not help. This is OK. It is only a couple of month till SQL Server 2005 is released and I will be running everything from my workstation as it proved itself working and in addition can send me nice database SMTP mail 🙂

    Yelena

    Regards,Yelena Varsha

  • I'm an idgit for forgetting this, but that's how it goes. When we first started having problems with our Win2k3 cluster and distributed transactions, MS directed us to do some testing using the DTCPing program. A link to it can be found in this KB article:

    How To Troubleshoot MS DTC Firewall Issues (306843)

    You install it on both servers participating in the distributed transaction. From the readme.txt, here's what the application does:

    III. Tool Functionality

    The DTCPing.exe tool performs the following functions:

    * Tests name resolution.

    Because each Microsoft Distributed Transaction Coordinator (MS DTC) service

    uses the NetBIOS name of its peer to talk to other MS DTC services, name

    resolution is the first step toward MS DTC troubleshooting. The DTCPing.exe

    tool first tries to resolve the computer network name to the IP address.

    DTCPing.exe uses this IP address to obtain the host name.

    * Tests Remote Procedure Call (RPC) communication.

    RPC is the basis for MS DTC communication. The DTCPing.exe tool uses the

    dynamic port with Transmission Control Protocol/Internet Protocol (TCP/IP)

    protocol to test RPC communication. MSDTC requires successful, two-way RPC

    communication to function. The DTCPing.exe tool also reports more details

    if the host computer is running out of the TCP/IP port.

    * Detects and display MS DTC settings.

    The DTCPing.exe tool displays all registry key settings that are touched by

    MS DTC. These settings include the Security setting that is new to the

    Microsoft Windows Server 2003 operating system.

    * Tests DTC communication.

    MS DTC is based on two-way RPC and uses MS DTC Connection Manager protocol

    to establish connections. The DTCPing tool simulates MSDTC at the Connection

    Manager level.

    * Logs the Current Adapter configuration (except on Microsoft Windows NT 4.0-based

    systems).

    * Detects the cluster configuration of MS DTC. If the DTCPing.exe tool

    detects the cluster environment, the tool logs the IP address resource

    and the name resource for MSDTC.

    K. Brian Kelley
    @kbriankelley

Viewing 8 posts - 16 through 22 (of 22 total)

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