使用单个事务范围在两个不同的数据库服务器上进行数据库查询

时间:2011-05-06 08:07:24

标签: msdtc

我正在使用交易范围。我希望在不同的数据库服务器上运行2个查询的事务范围。一个查询在一个服务器上运行,另一个在另一个服务器上运行。

但是,单个查询将拥有自己的事务范围,因为它可以处理多个表。

我得到以下激励

The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025)

有关如何解决此问题的任何建议?

2 个答案:

答案 0 :(得分:3)

在远程主机(在这种情况下为DB服务器):

  • 从“控制面板”中,打开“管理工具”,然后打开“组件服务”。
  • 展开“组件服务”,右键单击“我的电脑”,然后选择“属性”。
  • 单击“MSDTC”选项卡,然后单击“安全配置”。
  • 在“网络DTC访问”下点击任何内容。

检查防火墙是否也不会阻止客户端和服务器上的MSDTC。

答案 1 :(得分:1)

如第一个答案中所述,必须在客户端和服务器计算机上启用MSDTC。但是,此外还可能需要一些额外的配置,尤其是涉及防火墙时。以下链接:MSDTC Troubleshooting描述了可能发生的许多错误,如何解决这些错误以及一些有用的调试工具,例如DTCTesterDTCPing

其他疑难解答链接包括: