如何在Windows Server 2019的docker中使用MSDTC运行应用程序

时间:2019-04-11 15:03:23

标签: docker

使用MS SQL 2017托管虚拟机Windows Server2019。应用程序正常工作,并通过MSDTC在高端口上进行两次插入。当我尝试在docker中运行此应用程序时,我返回错误。

容器和主机相互ping通,并解析DNS。容器已配置了gMSA和MSDTC。

Set-DtcNetworkSetting -DtcName'Local'-AuthenticationLevel'NoAuth'-InboundTransactionsEnabled $ True -OutboundTransactionsEnabled $ True -RemoteClientAccessEnabled $ True -RemoteAdministrationAccessEnabled $ True -XATransactionsEnabled $ True -LuTransactionsEnabled $ True

首先插入OK。第二次插入返回错误。

未处理的异常:System.Transactions.TransactionManagerCommunicationException:与基础事务管理器的通信失败。 ---> System.Runtime.InteropServices.COMException:由于通信问题,MSDTC事务管理器无法从源事务管理器中提取事务。可能的原因是:存在防火墙,并且MSDTC进程没有例外;两台计算机无法通过其NetBIOS名称相互找到对方;或者未为两个事务之一启用对网络事务的支持经理。 (来自HRESULT的异常:0x8004D02B)

尝试使用公开,透明或l2bridge的nat Docker网络无所谓。它没用。

0 个答案:

没有答案