我目前正在将应用程序升级到 SQL 2008/Server 2008 R2 x64,并且我看到了一些我在 SQL 2005/Server 2003 上没有看到的奇怪行为。我随机收到来自 MSDTC 的异常:The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025)
.请注意,我已经启用了未经身份验证的网络事务,并且这些事务在 95% 的时间里确实有效。但随后有些人因此消息而失败。如果相关,它是一个 SQLBulkCopy 对象。
我调查了 DTC 统计数据,有趣的是,当事务抛出此异常时,没有中止的事务,但它确实记录了一个已完成的事务。真正有趣的是远程事务管理器还创建了一个新事务(状态已提交)。作为成功写入数据库的事务的一部分,有第二次写入,但第一次没有。
在排序方面,当我看到此错误时,发生了以下情况:
我知道 SQL 和应用程序都为远程事务配置了它们的 MSDTC,因为一些事务确实可以成功运行。知道为什么会发生这种情况以及我该如何解决吗?
最佳答案
在实践中还没有亲自见过这个,但发现了这一点:
来自 here :
- Make sure you check "Network DTC Access", "Allow Remote Client", "Allow Inbound/Outbound", "Enable TIP" (Some option may not be necessary, have a try to get your configuration)
- The service will restart
- BUT YOU MAY NEED TO REBOOT YOUR SERVER IF IT STILL DOESN'T WORK
关于sql-server-2008 - 在 SQL 2008/Server 2008 R2 x64 HRESULT : 0x8004D025 上使用 MSDTC 事务的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534555/