0

我正在尝试让 MSDTC 和 SQL Server 在 Windows 10 Pro 上协同工作。我启动了分布式事务协调器服务,它正在使用网络服务帐户。每当我在 SQL Server 中开始分布式事务时,我都会收到以下错误:

Msg 8501, Level 16, State 3, Line 1
MSDTC on server 'DESKTOP-99PFPB8' is unavailable.

我按照本文中的说明启用了 DTC 连接管理器跟踪。跟踪显示以下内容:

05-11-2018 10:52:25:672 : [3d58.77ac] 0x00000000 [    TRACE_CM] [  TRACE_INFO] InitRpcSecurity (com\complus\dtc\dtc\cm\src\iomgrrpc.cpp@382): Calling RpcServerRegisterAuthInfo with NT Service\MSSQLSERVER as SPN
05-11-2018 10:52:25:678 : [3d58.75c4] 0x800706d3 [    TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::SetRpcSecurity (com\complus\dtc\dtc\cm\src\iomgrclt.cpp@569): [Remote:DESKTOP-99PFPB8 a2e530a1] Call to RpcMgmtInqServerPrincName failed.  The partner does not support secure calls
05-11-2018 10:52:25:681 : [3d58.75c4] 0x80070006 [    TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::PokeWrapper (com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1174): [Remote:DESKTOP-99PFPB8 a2e530a1] Exception raised in the rpc call C_PokeW
05-11-2018 10:52:25:685 : [3d58.75c4] 0x80000171 [    TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::Poke (com\complus\dtc\dtc\cm\src\iomgrclt.cpp@992): [Remote:DESKTOP-99PFPB8 a2e530a1] SecurePokeWrapper call failed
05-11-2018 10:52:25:688 : [3d58.75c4] 0x00000000 [    TRACE_CM] [  TRACE_INFO] CRpcIOManagerClient::Poke (com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1035): Secure Poke failed for LRPC and falling back to unsecure mode... Setting RPC security again!
05-11-2018 10:52:25:692 : [3d58.75c4] 0x80070006 [    TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::PokeWrapper (com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1174): [Remote:DESKTOP-99PFPB8 a2e530a1] Exception raised in the rpc call C_PokeW
05-11-2018 10:52:25:694 : [3d58.75c4] 0x80000171 [    TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::Poke (com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1081): [Remote:DESKTOP-99PFPB8 a2e530a1] PokeWrapper call failed

我被困在这一点上。有谁知道这些错误是什么意思?

我试过的步骤:

  1. 重新启动 DTC 服务,然后是 SQL Server 服务
  2. 重新安装 DTC(msdtc -uninstall、reboot、msdtc -install、msdtc -resetlog)
  3. 启用网络 DTC 访问(即使这是单机环境)。我检查了“允许删除客户端”、“允许远程管理”、“允许入站”、“允许出站”和“不需要身份验证”。
  4. 全新安装 Windows!
4

1 回答 1

-1

只有一台计算机参与交易?

你是如何测试分布式事务的?如果你只发出一个“开始分布式事务”,会抛出这个错误吗?

另外,尝试使用 sys internals 进程监视器,并过滤“msdtc.exe”以查看访问某些 Windows 资源(如文件或注册表)是否发生错误

于 2019-04-07T23:44:03.600 回答