Dtcping test passes, but communication with the underlying transaction manager failed

The DTCPing tool says that everything should be fine. Actual exception:

System.Transactions.TransactionManagerCommunicationException: 

Failed to contact the primary transaction manager. ---> System.Runtime.InteropServices.COMException: transaction MSDTC manager was unable to push the transaction to its destination due to communication problems. Possible reasons: a firewall is present and it has no exception for MSDTC, both machines cannot find each other NetBIOS names or network transaction support are not included for one of the two transaction managers. (Exception from HRESULT: 0x8004D02A)

The service runs on a virtual machine. Other servers can run distributed transactions, so the database block is configured correctly.

+8
c # sql-server transactions transactionscope msdtc
source share
2 answers

There is a good article on this subject: Troubleshooting MSDTC . It was originally written for BizTalk Server, but is also used on another server.

Since you are starting a VPC, it is possible that the DTC has several identifiers with another computer on the same network. Please check "Make sure that the MSDTC has a unique CID value in this article" (see also http://blogs.msdn.com/b/johnlee/archive/2008/09/09/msdtc-on-virtual-machines. aspx ), although I think DTCP should talk about this ... You can also try msdtc -uninstall and msdtc -install to fix this.

You should also check if your server is using any VPN or encryption technology. I remember that this can cause problems.

+3
source share

Someone has already mentioned unique identifiers, make sure you do this before doing anything else, I saw people blow up a lot of time going down other routes, only to find out that this is all a problem.

However, I found a tool called DTCTester more useful than DTCP. http://support.microsoft.com/kb/293799

It's a little harder to use than DTCPing, but it is also much closer to what you usually do, giving you a cleaner test result.

* Ensure that all possible firewall / filtering programs are disabled and / or do not exist *

I canโ€™t stress this, I spent almost 90 minutes trying to convince the Kuzometer that its VPN software acts as a personal firewall and blocks incoming sockets. As soon as he turned it off, the problems disappeared. (By the way, the software was a Cisco VPN Client, the setting was "Stateful Firewall (Always On)" - yep, it is ALWAYS on :))

Remember that DTC is two-way traffic, so it must be true on both sides, and you also need to make sure that both machines have access to โ€œAllow access to the DTC networkโ€. I also found that making sure that the DTC settings on both blocks are synchronized, usually also provides solid interaction.

+2
source share

All Articles