“服务器 '×××' 上的 MSDTC 不可用”的解决方法
一. A.不用事务,关用SELECT语句.是否可以分布式查询?B.LINKSERVER在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)
C.DBCCTRACEON(3604,7300)--用跟踪看更详细错误信息.
D.下载MS提供的DTCPing.exe分装在两台机上,按README说明来运行它.看出错信息.
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe
二. 两台机的MSDTC是否都打开了.
三. MSDTC设置是否正确.
1.打开命令提示,运行"netstopmsdtc",然后运行"netstartmsdtc"。
2.转至"组件服务管理工具"。
3.浏览至"启动管理工具"。
4.选择"组件服务"。
a.展开"组件服务"树,然后展开"我的电脑"。
b.右键单击"我的电脑",然后选择"属性"。
C.在MSDTC选项卡中,确保选中了下列选项:网络 DTC访问
网络管理
网络事务
XA事务
e.另外,"DTC登录帐户"一定要设置为"NTAuthority\NetworkService"。
5.单击"确定"。这样将会提示您"MSDTC将会停止并重新启动。
所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
6.单击"确定"关闭"我的电脑"属性窗口。
四.
MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
telnetIP135
如果是关闭的打开它.
五.
有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL"的ODBC方式联接.
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)
CheckwhetheryouareusingRemoteAccessServer(RAS)toaccessremoteservers.Ifso,makesurethatyouhaveimplementedRoutingRAS(RRAS).LinkedserverdoesnotworkonRASbecauseRASallowsonlyonewaycommunication.
六. 检查你的两台服务器是否在同一个域中.
如果不在同一个域中,是否建立可信任联接.
七. 如果是WIN2000,升级到SP4
八. 升级MDAC到2.6以上,最好是2.8.
九. 要安装SQL的最新补丁:sp4
http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&DisplayLang=zh-cn
我的解决方法:netstopmsdtc",然后运行"netstartmsdtc"开启服务后正常。
页:
[1]