问题与SQL2008上的MS DTC赢得服务器2k8从sql2000连接服务器赢得服务器2K

我们已经将我们的数据库从sql2000 win server 2k迁移到sql2008 win server 2k8。 我们已经连接了sql2000 win server 2k的服务器。 我们认为问题在于DTC,我们为解决问题做了很多设定,但问题依然存在。 在SQL日志和win事件查看器中没有任何错误或者任何信息或信息。 应用程序正在外挂,并显示超时exception。

到目前为止我们所做的是:

  1. 启用networkingDTC访问入站和出站无需validationwin 2k8
  2. 我们通过2k和2k8的registry打开了RPCdynamic端口分配
  3. 我们在registryHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC中input了子键TurnOffRpcSecurity,并使其在2k和2k8上启用
  4. 我们在所有实体的防火墙中为DTC添加了例外

我们注意到,当我们重新启动SQL服务并为我们的事务进行第一次尝试时,会显示以下内容:“试图初始化Microsoft分布式事务处理协调器(MS DTC),这只是一个信息性消息,不需要用户操作。 之后:“恢复涉及Microsoft分布式事务处理协调器(MS DTC)的任何有问题的分布式事务已经完成,这只是一条信息性消息,不需要用户操作。

有人知道为了解决这个问题还有什么可以做的吗?

提前致谢。

问候,Snezana

尝试在两台服务器上使用SQL Server Profiler运行跟踪,同时尝试在导致超时的应用程序中执行操作。 当超时发生时,这将显示你机器上发生了什么。

记住在这个过程中保持开放的态度。 我知道你说过你认为DTC是造成这个问题的原因,但根据我的经验,DTC通常不会造成超时。 它可以工作,也可以不工作,当它没有正确configuration时抛出的错误说DTC不能启动事务。 我所看到的链接服务器问题通常涉及到未完成的远程查询或需要将大量数据发送到调用服务器的远程查询。

是的,你是对的,然后运行分析器,但没有注意到一些改进,因为我被redirect,我的脑海里,问题是链接服务器。

问题是一个僵局,我对每个人都有超时的build议是首先检查发生死锁。

谢谢。

我还没有尝试过你的组合。 但是这里有一些你可以尝试的东西:

  • 运行dcomcnfg命令(不要告诉我你找不到运行命令
  • 展开“组件服务”节点,然后展开“我的电脑”节点,然后展开“分布式事务处理协调器”节点
  • 右键单击“本地DTC”节点,然后select“属性”
  • 在“本地DTC属性”上,select“安全”选项卡
  • selectnetworkingDTC访问,允许入站,允许出站,不需要身份validation,并启用XA事务

您也可以在testing时查看MSDTC监视器。 这样你会看到交易是否正在创build,然后中止,或根本没有创build。

这两台机器在同一个子网上吗? 我永远不能让DTC在路由器,防火墙或者不是的情况下工作。

要debugging,请尝试使用微软的DTCPing和DTCTester(谷歌为它)。

有时在更改DTC设置时需要重启,即使系统没有这样说。