日期:2014-05-17  浏览次数:20685 次

关于分布式事务,防火墙设置问题,的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
系统是win server 2008 x64 
关闭防火墙使用begin distributed tran正常,

但打开防火墙后返回错误:LE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
使用dctping.exe 返回错误:
RPC pinging failure  Description:1753-终结点映射器中没有更多

------------------------------

大家看看我在防火墙上应该加上什么入站规则?
------最佳解决方案--------------------
MSDTC依赖RPC,RPC使用端口是TCP 135 Port,所以在exception中增加msdtc.exe和TCP 135 Port的例外,这样,WINDOWS防火墙就可以给msdtc“放行”了。
------其他解决方案--------------------
MSSQL复制如果要采用“即时更新”则需要用到MSDTC,可以用DTCPING来测试MSDTC的环境。DTCPING可以从微软站点下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&DisplayLang=en

使用说明:http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q306843

在用的时候要注意一定是两台机器同时运行DTCPING来测试。如果只是单边运行会出现如下提示:
RPC pinging failure
?0?2Description:1753-终结点映射器中没有更多的终结点可用。
使得你误以为是RPC没有设置好或者135端口没有开通。