2016-11-03 175 views
0

我的應用程序部署在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://stackoverflow.com/questions/42115390/communication-with-the-underlying-transaction-manager-has-failed-msdtc/45485690#45485690 –

回答

0

其實,經過幾天的搜索和調查,我發現問題的根源。問題是2臺機器無法通過net bios名稱進行ping操作。他們只能通過IP才能ping通。解決了ping問題後。一切正常。