我对MSDTC有一个令人困惑的问题
我们的开发项目中有4台机器,但只有1台无法协商MSDTC交易。
我们正在使用带有多个Linq-2-SQL DataContexts的WCF服务,因此该事务正在升级到DTC。在调用第二个datacontext调用时,1台计算机(Windows 7 SP 1)中的4个失败。
数据库服务器是Windows Server 2008 R2 / SQL Server 2008 R2
这是事件日志
来源:MSDTC客户
事件ID: 4359
任务类别:MSDTC代理
一般:“MS DTC无法与远程系统上的MS DTC通信。主系统上的MS DTC在辅助系统上与MS DTC建立了RPC绑定。但是,在超时期限到期之前,辅助系统未创建与主MS DTC系统的反向RPC绑定。请确保两个系统之间存在网络连接。错误细节:“
MSDTC在所有4台机器上设置相同, 网络DTC访问 - 已启用 客户端和管理 - 同时选中“允许远程客户端”和“允许远程管理” 事务管理器通信 - 允许出站和允许入站检查,需要相互身份验证 未选中启用XA事务 启用SNA LU 6.2交易已检查
所有计算机(包括数据库服务器)都将DTC登录帐户设置为NT Authority \ NetworkService
我已经检查过故障机器可以通过NETBIOS名称解析数据库服务器,并且 ping -a {IP} 将IP地址解析回netbios名称,反之亦然。
当事务升级到DTC时,我在客户端和数据库服务器上的事务列表中以user_transaction {SOME GUID}的形式看到一个条目,该条目在大约1分钟后超时
数据库没有在其事件日志上记录任何内容
如果禁用所有防火墙,则没有区别。
有谁知道接下来要看什么?
干杯...
罗伯特
===更新=== MSDTC在计算机上配置错误...从图像克隆了开发框并复制了一些内部GUID。重新安装MSDTC修复了问题
msdtc -uninstall
msdtc -install