sql-server-2008 - 在 SQL 2008/Server 2008 R2 x64 HRESULT : 0x8004D025 上使用 MSDTC 事务的异常

标签 sql-server-2008 transactions windows-server-2008-r2 msdtc

我目前正在将应用程序升级到 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 统计数据,有趣的是,当事务抛出此异常时,没有中止的事务,但它确实记录了一个已完成的事务。真正有趣的是远程事务管理器还创建了一个新事务(状态已提交)。作为成功写入数据库的事务的一部分,有第二次写入,但第一次没有。

在排序方面,当我看到此错误时,发生了以下情况:

  • 从表中删除(这个有效)
  • 新行中的批量复制(此操作失败并且在“WriteToServer”方法上引发异常)
  • 创建写入发生的记录(这有效)。

  • 我知道 SQL 和应用程序都为远程事务配置了它们的 MSDTC,因为一些事务确实可以成功运行。知道为什么会发生这种情况以及我该如何解决吗?

    最佳答案

    在实践中还没有亲自见过这个,但发现了这一点:

    来自 here :

    1. 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)
    2. The service will restart
    3. 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/

    相关文章:

    sql-server-2008 - IFF 语句错误 '=' 附近的语法不正确

    sql-server - 如何为每个表创建默认约束

    带很多参数的sql存储过程

    powershell - 如何使用Powershell向Windows服务器上的域帐户授予SeBatchLogon特权?

    iis - 只有 80 端口适用于网站

    web - 如何在 IIS 上创建隐藏网站 - 具有多个用户帐户的 IIS

    sql - 带有 contains 方法的可选搜索参数

    sql-server - Sql Server中的大事务,有什么问题吗?

    python - SQL 命令 SELECT 从 Postgresql 数据库中获取未提交的数据

    c# - 与当前连接关联的事务已完成但尚未处理。 (编辑#3)