When using thread impersonation “DTCGetTransactionManagerEx”is failing from the MSDTC groups passive cluster node

The Problem You could be encountering this problem if: ·         You are using an application calling the API “DTCGetTransactionManagerExW” from a thread impersonating a different user to that which the process is running as;  ·         The application is running and failing on the MSDTC passive node of an Windows 2003 Cluster (and it is working when…


MSDTC communication is not working on a Windows 2008 Cluster when Incoming Caller Authentication or Mutual Authentication is required

In the design change between Windows 2003 and Windows 2008, MSDTC running on a cluster should now be able to take advantage of all available MSDTC authentication option when servers are running on the same domain as their MSDTC client servers.   There is however a problem which causes this supported scenario to fail.  …

1

Unable to view or change the properties (Tracing, Logging or Security settings) in Component Services for a clustered instance of MSDTC which resides in a SQL Server cluster resource group

The issue normally only occurs when MSDTC is using the same cluster virtual name as SQL. The point of failure seems to be API call to “RegConnectRegistryEx” with the SQL network name. When this specific issue occurs, the call returns HR “0x80070035” (ERROR_BAD_NETPATH). This is specifically network path not found.   The simplest way to…


Knowing the limits (MSDTC participant / enlistment limits)

In most cases when flowing a distributed transaction between more than a single machine, a number of Transaction Managers (TM’s) will be involved. In Microsoft’s case the TM implementation is the Microsoft Distributed Transaction Coordinator (MSDTC). The MSDTC representing the machine where the transaction is begun is normally referenced to as the superior MSDTC. The…


MSDTC transaction statistics show a large number of aggregated “Unknown” and “Total” transactions when viewed from a remote machine

Take the scenario whereby MSDTC is configured on Server A and allows remote administration. This means on server B you will be able to add Server A as a remote machine within the component services management snap-in. Once added you will be able to make administrative changes to the MSDTC on Server A from Server…


You cannot use or configure MSDTC on a Windows 2003 Cluster without a shared disk

On a Windows 2003 cluster you can only ever have one instance of MSDTC running on the cluster at any one time. For this reason and to ensure the running instance of MSDTC is available to all nodes in the cluster, it must be configured as a clustered resource as per http://support.microsoft.com/kb/301600.   In order…

1

You cannot start transactions in an application running without administrative privileges on a Windows 2003 clustered Server

On a Windows 2003 Cluster environment, if you have an application (e.g. COM+, winforms etc) which runs under a non-administrative account and trys to start Distributed Transactions (using MSDTC), you may find it will fail. Below are a few of the errors you could see: -Event ID 4426 MSDTC Client -Event ID 4376 MSDTC Client…

1

Moving a "MSDTC Cluster Resource" from the "Main Cluster Group" to its own "MSDTC Cluster Group"

This post applies to Windows 2003 Clusters 1) First you should make a careful note of all the MSDTC security Settings within “Component Services” on the currently active cluster node. This can be found by right clicking the “My Computer” node of the DCOMCNFG tree and selecting “properties”. On the tab list select “MSDTC” and then…

2

ACL Problem with the MSDTC service?

If you have a Resource Manager (for example SQL Server) that is failing to communicate with MSDTC (that you can see is started and working well), you maybe wondering the best way to troubleshoot such a problem? One possible issue could be that the account under which the SQL Server (or other resource Manager) is…

4