主要的问题还是MSDTC的设置,找了一篇如下的文章,很帮助:
关于“COM+ 无法与 Microsoft 分布式事务协调程序交谈
出现了“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”的错误,一个很叫人郁闷的错误,找了很多资料,基本的解决方法整理如下:
1. 单击“开始”,指向“控制面板”,然后单击“添加/删除程序”。
2. 单击“添加/删除 Windows 组件”。
3. 选择“应用程序服务器”,然后单击“详细信息”。
4. 选择“启用网络 DTC 访问”,然后单击“确定”。
5. 单击“下一步”。
6. 单击“完成”。
7. 停止分布式事务协调器服务,然后重新予以启动。
8. 停止参与分布式事务的任何资源管理器服务(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然后重新予以启动。
9.检查MSDTC设置是否正确.
1)打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
2)转至"组件服务管理工具"。
3)浏览至"启动管理工具"。
4)选择"组件服务"。
a.展开"组件服务"树,然后展开"我的电脑"。
b.右键单击"我的电脑",然后选择"属性"。
c.在 MSDTC 选项卡中,确保选中了下列选项: 网络 DTC 访问
网络管理
网络事务
XA 事务
d.另外,"DTC 登录帐户"一定要设置为"NT Authority/NetworkService"。
5)单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
6)单击"确定"关闭"我的电脑"属性窗口。
10.关闭网络防火墙(或者开放相应的端口135)
1.先在程序計算機上設置MSDTC:控制面板->管理工具->組件服務->我的電腦->右jiang->屬性->MSDTC->安全配置(Security Configuration)->打開Network DTC Access 同時打上
Allow Inbound ,Allow Outbound ,No Authentication Required,Enable Transaction Internet Protocol[TIP] Transaction
2.請在遠程數據庫計算機上做1同樣的事情
3.雙方計算機重新啟動MSDTC
其它的一些资料:
分布式事务在Windows 2003的配置比较麻烦,原来我就碰到过怎么设置也启动不了的情况,近日在别人指导下弄好了,顺便写个配置步骤,希望对大家有用
1、 添加/删除程序中,选择添加Windows组件,选择应用程序服务器,选择启用分布式事务网络访问
2、 在DTC所涉及的所有服务器中,启用NETBIOS,确保所有服务器能相互ping通对方,具体为修改所有服务器中的C:/Windows/System32/Drivers/etc/hosts文件(具体可参考hosts文件的内部帮助)。[注意]必须修改所有的服务器中的hosts文件
3、 禁用SQL Server 的DTC RPC安全,具体为在HKEY_LOCAL_MACHINE/Software/Microsoft/MSDTC下新建一个DWord键,名称为TurnOffRpcSecurity,设置其值为1
4、 重启MSDTC
5、 关闭网络防火墙(或者开放相应的端口)
C:/WINDOWS/system32/drivers/etc
下的 hosts系统文件 增加要操作的IP与机器名。