分布式事务 操作sqlserver遇到的错误

来源:互联网 发布:北京php招聘 编辑:程序博客网 时间:2024/05/21 06:56

错误消息:服务器 上的 MSDTC 不可用

解决办法:控制面板--管理工具--服务--Distributed Transaction Coordinator
依存关系:Remote Procedure Call(RPC)和Security Accounts Manager,先启动这两项服务,然后执行命令:

msdtc -resetlog在双方防火墙中增加MSDTC.exe例外 可用命令行: netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable 
将135端口例外

仍然报错:该伙伴事务管理器已经禁止了它对远程/网络事务的支持。
1.设置MSDTC:控制面板->管理工具->組件服务->我的电脑->右键->属性->MSDTC->安全配置(Security Configuration)->打开Network DTC Access 同时打上
Allow Inbound ,Allow Outbound ,No Authentication Required,Enable Transaction Internet Protocol[TIP] Transaction

2.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。 

3.停止参与分布式事务的任何资源管理器服务(如   Microsoft   SQL   Server   或   Microsoft   Message   Queue   Server),然后重新予以启动

4.(这个步骤可选) 仍然报错---C:\WINDOWS\system32\drivers\etc\hosts 加上计算机IP与计算机名的映射

重启后好了,报不同的错:
无法启动链接服务器 "ITSV1" 的 OLE DB 访问接口 "SQLNCLI10" 的嵌套事务。由于 XACT_ABORT 选项已设置为 OFF,因此必须使用嵌套事务。
使用:
SET XACT_ABORT ON

大功告成!!!!!
网上还有很多相关的配置:
http://www.cnblogs.com/sadier/archive/2004/12/15/77452.html

原创粉丝点击