Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm having a problem with a new server setup. Distributed Transactions started by the application server to the new server are failing, but they work fine with an existing database server. I need help determining the cause of the problem.

For various reasons, the new server is not running the latest versions of either Windows or SQL Server.

Setup

APPLICATION SERVER

  • OS: Windows Server 2008 R2
  • NetBIOS Name: WEB-02
  • Configured to talk to multiple database servers, some local, some remote.
  • DCOM ports restricted to a range of 5000-5020 for talking through firewall to remote servers.
  • Windows firewall enabled
  • DTC Properties
    • Network DTC Access checked
    • Allow Remote Clients, Allow Remote Administration unchecked
    • Transaction manager Communication
      • Allow Inbound, Allow Outbound checked
      • No Authentication Required
    • Enable XA Transactions unchecked
    • Enable SNA LU 6.2 Transactions checked

NEW DATABASE SERVER

  • OS: Windows Server 2008
  • NetBIOS Name: DB-06
  • SQL Server 2005
  • No restrictions on DCOM ports
  • Windows firewall disabled
  • DTC Properties
    • Network DTC Access checked
    • Allow Remote Clients unchecked,
    • Allow Remote Administration checked
    • Transaction manager Communication
      • Allow Inbound, Allow Outbound checked
      • No Authentication Required
    • Enable XA Transactions unchecked
    • "Enable SNA LU 6.2 Transactions" does not exist

EXISTING DATABASE SERVER

  • OS: Windows Server 2003 R2
  • NetBIOS Name: DB-04
  • SQL Server 2005
  • No restrictions on DCOM ports
  • Windows firewall disabled
  • DTC Properties
    • Network DTC Access checked
    • Allow Remote Clients unchecked,
    • Allow Remote Administration checked
    • Transaction manager Communication
      • Allow Inbound, Allow Outbound checked
      • No Authentication Required
    • Enable XA Transactions unchecked
    • "Enable SNA LU 6.2 Transactions" does not exist

All three servers are part of the same domain and are on the same subnet. Only an Ethernet switch is between them, no router, hardware firewall, nor security device.

Problem

An ASP.NET application runs on the application server and works correctly when performing a transaction against the existing database server (DB-04). When performing the same steps against the new database server (DB-06), it fails and reports the error message: Communication with the underlying transaction manager has failed.

Troubleshooting Steps

We've seen this error before with this application, and it normally means that the Distributed Transaction Coordinator is not configured correctly or a firewall is interfering. In the past, I have used DTCPing to troubleshoot and correct any errors.

This time however, although DTCPing is failing, I am not able to determine the cause of the problem, as both the existing and new database servers appear to be configured the same, except for OS version.

The following is from the DTCPing log file when running a test from the application server (WEB-02) to the new database server (DB-06). Note that I have changed the IP addresses and DNS names.

From log file on application server

10-14, 16:08:11.346-->Error(0x424) at clutil.cpp @256
10-14, 16:08:11.346-->-->OpenCluster
10-14, 16:08:11.346-->-->1060(The specified service does not exist as an installed service.)
++++++++++++++++++++++++++++++++++++++++++++++
     DTCping 1.9 Report for WEB-02  
++++++++++++++++++++++++++++++++++++++++++++++
Firewall Port Settings:
    Port:5000-5020
RPC server is ready
++++++++++++Validating Remote Computer Name++++++++++++
10-14, 16:08:22.796-->Start DTC connection test
Name Resolution:
    DB-06-->1.1.1.6-->s6.mydomain.com
10-14, 16:08:22.812-->Start RPC test (WEB-02-->DB-06)
RPC test failed

From log file on new database server

10-14, 16:07:46.128-->Error(0x424) at clutil.cpp @256
10-14, 16:07:46.128-->-->OpenCluster
10-14, 16:07:46.129-->-->1060(The specified service does not exist as an installed service.)
++++++++++++++++++++++++++++++++++++++++++++++
     DTCping 1.9 Report for DB-06  
++++++++++++++++++++++++++++++++++++++++++++++
RPC server is ready
10-14, 16:08:22.785-->RPC server:DB-06 received following information:
    Network Name: DB-06
    Source  Port: 56535
    Partner LOG: WEB-022872.log
    Partner CID: 1ACD8780-9446-4E94-869D-6F1BDF787BBF

After clicking PING on the database server, the following is added to the log file. In the output window, there is a pause between invoking the RPC method and it failing, so it fails after a timeout.

++++++++++++Validating Remote Computer Name++++++++++++
10-14, 16:13:18.924-->Start DTC connection test
Name Resolution:
    Web-02-->1.1.1.2-->web-02.mydomain.com
10-14, 16:13:18.933-->Start RPC test (DB-06-->Web-02)
Problem:fail to invoke remote RPC method
Error(0x6D9) at dtcping.cpp @303
-->RPC pinging exception
-->1753(There are no more endpoints available from the endpoint mapper.)
RPC test failed

As explained in Troubleshooting MSDTC issues with the DTCPing tool under section "ERROR MESSAGE 4 - There are no more endpoints from the endpoint mapper", there are in fact more endpoints for the mapper. I have run netstat -an on the application server (the one with restricted ports) and it is only using 10 of the 20 ports available.

share|improve this question
add comment

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.