MSDTC,与基础事务管理器的通信失败+ Windows Azure虚拟机

问题描述:

我的应用程序部署在2台Windows Azure虚拟机上。 1台机器为SQL服务器,另一台为应用程序。MSDTC,与基础事务管理器的通信失败+ Windows Azure虚拟机

在应用程序中,我使用TransactionScope。所以我在两个虚拟机上应用了事务配置,如下图所示。

enter image description here

另外,我已经允许在两台机器上的防火墙分布式事务处理协调器。

我有一个很长的运行过程,有一个循环,每个循环内我有一个单独的TransactionScope。有时候并不总是,我得到了下面的例外。

Communication with the underlying transaction manager has failed. ------- Inner Exception: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers.

“系统中心端点保护”上安装了两个VM,我关掉了实时保护还没有结果。

我试图在sql虚拟机上运行进程,一切正常,没有例外。

+0

请在这里查看我的答案:https://*.com/questions/42115390/communication-with-the-underlying-transaction-manager-has-failed-msdtc/45485690#45485690 –

其实,经过几天的搜索和调查,我发现问题的根源。问题是2台机器无法通过net bios名称进行ping操作。他们只能通过IP才能ping通。解决了ping问题后。一切正常。