DTC测试失败

时间:2016-06-21 19:37:47

标签: sql-server dns msdtc

我正在测试我们的应用程序和位于不同域的数据库服务器之间的DTC服务。

要解决DNS问题,已修改主机文件和网络文件,其中包含IP和服务器名称,DB服务器和应用服务器中的DBNETWORK条目

我们在这些服务器之间打开了防火墙和所需端口,并且数据库测试连接也从app服务器成功。

港口双向开通:135,1433-1434,5100-5200,8853-8856,25,27975,8770,pop3,8860

我们在组件服务默认协议属性中添加了端口范围5100-5200,并重新启动了两个服务器。

我们在应用程序服务器上创建了一个ODBC数据源,当我们在cmd提示符下使用DTCtester.exe进行DTC测试时,我们得到以下错误。

初始化DTC 开始DTC交易 在交易中登记连接 错误: SQLSTATE = 25S12,本机错误= -2147168242,msg ='[Microsoft] [ODBC SQL Server驱动程序] 分布式事务错误' 错误: SQLSTATE = 24000,本机错误= 0,msg = [Microsoft] [ODBC SQL Server驱动程序]无效的cur 国家 DTC输出中的典型错误 一个。防火墙已关闭端口 -要么- 湾错误的WINS / DNS条目 -要么- C。配置错误的网络 -要么- d。配置错误的SQL Server计算机,具有多个网卡。 中止DTC交易 释放DTC接口指针 成功发布了pTransaction指针。

尝试msdtc卸载,安装和重置日志,但它没有帮助。 DTC服务也已启动并运行。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我们使用DTCPing进行了故障排除。当我们尝试从DB服务器到App服务器的DTC ping时,我们得到“gethostbyname无法解析”错误。我们注意到hosts文件未正确指向应用服务器并使用应用服务器的IP和服务器名称详细信息进行了更正。然后DTC ping成功,所以DTCtester也是如此。