前辈们:我通过SQL2005远程连接服务器,想在客户机上A数据库a表插入一条数据,同时也插入到服务器B数据库b表,a表和b表结构一样,写了一个触发器insert into DBTest.MyTest.[dbo].[test] select * from inserted
可是却出现了“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”的错误提示,两台电脑的MSDTC都打开了,远程设置也OK,已经成功建立了远程连接,本人菜鸟,求解释

解决方案 »

  1.   

     主要的问题还是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.雙方計算機重新啟動MSDTC4.這樣就可以了其它的一些资料:分布式事务在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、 关闭网络防火墙(或者开放相应的端口) 
    6、 参考: 
    http://www.support.microsoft.com/?kbid=555017&SD=tech 
    http://support.microsoft.com/default.aspx?scid=kb;zh-tw;306843 
    http://support.microsoft.com/kb/250367/ 
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lanman/archive/2009/07/03/4319288.aspx
      

  2.   

    启动两台服务器的MSDTC服务 
    MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。打开双方的135端口
    MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。
    使用“telnet IP 135”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放