我创建了一个使用 MSDTC 的应用程序(在同一个 MS SQL 服务器内的多个数据库上打开一个事务),我们的本地环境设置成功并且 DTCPing、DTCTester 和应用程序都可以工作。然而,当谈到部署时,我在设置客户端计算机以使用服务器的协调器时遇到了问题。
在客户端站点上,我尝试了以下操作:
- DTC Ping 成功通过
- 将协调器设置为服务器一会导致出现以下错误“指定的远程主机不存在”
- 我能够使用主机名 ping 服务器
当我尝试运行 DTC 测试仪时,它输出以下内容:
Executed: dtctester.exe
DSN: accdim
User Name: sa
Password: <hidden>
tablename= #dtc16397
Creating Temp Table for Testing: #dtc16397
Warning: No Columns in Result Set From Executing: 'create table #dtc16397 (ival int)'
Initializing DTC
DtcGetTransactionManager failed: 8004d01b
DtcGetTransactionManager Call Error: Indicates unable to connect to the transaction manager, or the transaction manager is unavailable.
这最终成为域策略问题,计算机已移至其他组,MSDTC 已注册并成功运行。