我在C#控制台应用程序项目中使用两个SQL Server连接对象。我需要在单个事务中执行此操作,所以我使用了Transactionscope(分布式事务)

我无法在transactionscope中使用连接正在显示错误

服务器上的MSDTC不可用。

我该如何解决...。一个sql连接是远程服务器,另一个是本地服务器
服务器。

注意:-msdtc服务已经启动。

服务器在两台计算机上均启动。我仍然面对这个问题。我是否需要关闭本地Intranet计算机中的防火墙。

最佳答案

每当您执行分布式事务时,Microsoft分布式事务处理协调器都需要在您的本地计算机和参与该事务的所有服务器上运行。如果您有防火墙,则还需要确保已限制MSDTC进行通信的端口,并在防火墙配置中添加了适当的规则以允许连接-我相信它需要portmapper访问以及特定的端口您为RPC选择的范围。还需要同步MSDTC的各种安全设置,以控制如何在服务器之间进行身份验证。

以下是一些可能有用的链接:


MSDTC at MSDN
MSDTC Troubleshooting
MSDTC and Firewall Issues

10-08 00:38