我最近遇到了 MSDTC 无法启动的问题。
运行时命令行中的错误net start msdtc
表明存在配置问题。
我进入注册表并将配置设置设置为与 MSDTC 的默认安装相同的值。
之后,MSDTC 能够启动,但是组件服务中似乎缺少本地 dtc。
从那时起我就按照步骤这里。
net stop msdtc
msdtc -uninstall
msdtc -install
net start msdtc
步骤这里。
其过程与上述类似,只是还要删除注册表配置。
我还恢复了注册表备份并重新启动。
重新安装后重新启动。
到目前为止,无论如何,本地 dtc 都对我隐藏了。
有人知道这里可能出了什么问题,以及如何重新安装本地 dtc?
更新:
当我试图找到更多方法安装本地 dtc,我发现 Powershell Commandlet 实际上完全缺失了。
如果有人对此有解决方案/原因,那可能会对我有帮助。
更新2:
根据另一个线程上的请求,我重新执行了该过程,确保提示以管理员身份运行。
运行命令后,在事件查看器中发现以下事件:
已成功删除 Microsoft 分布式事务处理协调器服务。
已成功安装 Microsoft 分布式事务处理协调器服务。
更新 3:
我发现Component Services
全新安装后第一次打开并Distributed Transaction Coordinators
单击文件夹时应用程序日志中会出现以下错误:
MS DTC 连接管理器无法向 RPC 注册以使用 LRPC、TCP/IP 或 UDP/IP 之一。
请确保正确配置了 RPC。如果配置了“ServerTcpPort”注册表项(本地 DTC 实例的 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC 下的 DWORD 值或群集 DTC 实例的群集配置单元下的 DWORD 值),请验证配置的端口是否有效,并且该端口是否已被其他组件使用。
错误细节:hr = 0x80070057,d:\w7rtm\com\complus\dtc\dtc\cm\src\iomgrsrv.cpp:2523,CmdLine:“C:\Windows\system32\mmc.exe”“C:\Windows\system32\comexp.msc”,Pid:6096
这似乎表明存在防火墙问题,但完全禁用防火墙并从步骤 1 启动程序并没有帮助。
我开始相信唯一可用的选择是从轨道上摧毁服务器。