0

我们有一个 Sql Server 2000 数据库应用程序,当某些表发生更改时,它需要更新我们的应用程序 Sql Server 2008 数据库。为此,我们在 Sql 2000 服务器上使用触发器来触发 Sql 2008 服务器上的存储过程。从 SMSS 尝试时,我收到以下消息:

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.

我们的应用程序曾经使用 Sql Server 2005 数据库,但本周末我们升级了服务器。链接服务器对象具有与旧服务器相同的配置。这是我的 DTC 配置。还有什么可能出错的吗?

dtc 配置 http://yourcls.com/dtc-configuration.png

4

2 回答 2

0

谷歌为我想出了这篇知识库文章。从您的屏幕截图中,您似乎已经正确配置了 DTC(虽然我只是略读,但一定要仔细检查一下)。你检查你的防火墙设置了吗?

于 2009-04-06T17:27:10.487 回答
0

事实证明,我们的 Sql 2000 服务器上的相同 DTC 安全配置窗口没有启用任何网络 DTC 访问。这显然适用于我们的旧服务器,但是当我们升级到 Server 2008 和 Sql Server 2008 时,需要在两台服务器上都启用它。这是一个谜。

于 2009-04-06T18:28:05.457 回答