【问题标题】:Msg 7391 The operation could not be performed because OLE DB provider for linked server was unable to begin a distributed transaction消息 7391 无法执行操作,因为链接服务器的 OLE DB 提供程序无法开始分布式事务
【发布时间】:2014-07-22 05:49:37
【问题描述】:

有 3 个 Sql Server。示例服务器 A、服务器 B 和服务器 C。

-DTC 正在所有机器上运行。

-三台机器的本地 DTC 属性:

      -Network DTC Access

      -Allow Inbound

      -Allow Outboud

      -No Authentication Required  

      -Enable XA Transaction

      -Enable SNA LU 6.2 Transaction

      -Account: NT AUTHORITY\NetworkService

链接服务器的 RPC 和 RPC OUT 为真

服务器 A:Windows 8,服务器 B:Windows 7 和服务器 C:Windows 7

三台服务器的防火墙均已关闭

服务器不在域中。

在查询中添加了“set xact_abort on”。

现在,来自服务器 A 的分布式事务在两台机器上都可以正常工作。

    From server B Distributed transaction work in Server A only.

    From server c Distributed transaction work in Server A only.

问题:分布式事务在服务器 B 和 C 之间不起作用。

【问题讨论】:

    标签: sql sql-server distributed-transactions msdtc


    【解决方案1】:

    可能是您在 A\B\C 服务器上的防火墙配置有问题。您可以尝试暂时禁用防火墙来检查这一点。有关“启用网络 DTC 访问”的更多详细信息,请参阅以下link

    【讨论】:

    • 三台服务器的防火墙均已关闭。
    【解决方案2】:

    此问题是由于服务器 B 和服务器 C 的 MSDTC 中的唯一身份相同。这意味着两个 MS DTC 将无法相互通信。如果使用不受支持的克隆工具克隆其中一个系统,通常会出现此问题。 MS DTC 要求使用受支持的克隆工具(例如 SYSPREP)克隆系统。从命令提示符运行“msdtc -uninstall”,然后运行“msdtc -install”将解决问题。注意:运行“msdtc -uninstall”将导致系统丢失所有 MS DTC 配置信息。注意:在 Windows 2008 使用管理员命令提示符时,必须停止服务并重新启动服务器。

    http://www.sqlwebpedia.com/content/msdtc-troubleshooting

    【讨论】:

      猜你喜欢
      • 2014-07-23
      • 2011-09-18
      • 2012-10-31
      • 2013-09-10
      • 2017-09-19
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多