MSDTC Doesn't Work问题分析

来源:互联网 发布:淘宝复制别人的标题 编辑:程序博客网 时间:2024/05/18 02:24

SP中调用分布式事务时发生异常,异常信息如下:

OLE DB provider "SQLNCLI" for linked server " " returned message "No transaction is active.".
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server " " was unable to begin a distributed transaction.

初步问题排查:

SQL SERVER 1433端口开放,MSDTC端口135开放

采用MS Dtcping工具双向测试结果:

无法连接到另外一台服务器上的MSDTC.错误信息:1753(There are no more endpoints available from the endpoint mapper.)

RPC test failed

一般来说除了固定的135端口外,MSDTC还需要开启的端口为5000-5020,具体可以到SERVER注册表下HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Rpc/Internet/下查找开放的端口范围,默认一般为:5000-5020之间,见截图。

防火墙上端口开启问题解决。

SERVER端MSDTC设置如下图所示:



0 0