The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems

≯℡__Kan透↙ 提交于 2019-12-03 12:24:51

We had the exact same situation, and more than once. Each time, it was one of the following:

  1. The IP address in the DNS for the server is outdated (as said in error message: "two machines cannot find each other by their NetBIOS names"). You can check if this is the case by trying ping servername from one server to another in the command prompt. If the ping by name fails and ping by IP succeeds (or ping by name returns the wrong IP), than you should talk to the System Admins to take a look at DNS/DHCP.

  2. The servers are created as an image of preconfigured server (for example, if you are working with virtual machines, and instead of doing a fresh install for each of the servers, you simply clone the image). This is a problem because DTC has an internal "Identifier" - and in case of image cloning both your installations now have same DTC ID, and won't be able to communicate with each other. The solution is to simply uninstall and install the DTC again.

Hope it helps.

LpiAlreadyTaken

I had the same problem while connecting to a remote SQl Server. The solution in my case was to add "enlist=false" to the connection string.

Things to check:

  • Have you done this configuration on both servers?
  • Are both servers members of the same domain?
  • Have you checked the event log?
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!