1

在我们将 Win2k8 MSSQL2008 服务器移动到不同的 IP 地址后,我们无法从构建代理中对该 SQL 服务器上的数据库运行单元测试。在我们移动数据库服务器之前一切正常。现在,使用多个数据库事务的单元测试失败并显示以下错误消息:

System.Data.EntityException: The underlying provider failed on Open. 
--->   System.Transactions.TransactionManagerCommunicationException: 
Communication with the underlying transaction manager has failed. 
---> System.Runtime.InteropServices.COMException: 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.

我们检查了防火墙设置,以及从一台服务器 ping 到另一台服务器的能力,没有问题。可能一定有存储在某个地方的 SQL Server 的旧 IP 地址,或者还有什么可能导致这个问题?

谢谢你的帮助!

4

2 回答 2

1

问题是在构建服务器上的 LMHOSTS 文件中忘记了旧 IP 地址,修复后 DTC 再次工作。谢谢大家的想法。

于 2012-10-16T13:52:11.383 回答
0

MSDTC 使用的端口与 SQL Server 本身不同。确保这些端口也有防火墙例外。签出:MSDTC 和防火墙

如果这没有帮助,试试这个:http: //support.microsoft.com/kb/306843

于 2012-10-12T14:48:54.910 回答