SQL Server链接服务器,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务? 
  
1、telnet IP 135 两边都显示端口正常. 2、msdtc 
网络DTC开启,允许客户端,允许远程管理, 
              允许入站,允许出站 
              不要求验证,DTC帐户:NT Authority\NetworkService 链接服务器是用IP连的。SQL SERVER方式 
最后死活起不了事务 

解决方案 »

  1.   

    2、显式开始分布式事务前:
    SET  XACT_ABORT ON
    SET ANSI_NULL_DFLT_ON ON
    SET ANSI_WARNINGS ON ???
      

  2.   

    三.MSDTC设置是否正确(WIN2003).   
      1.打开命令提示,运行"net   stop   msdtc",然后运行"net   start   msdtc"。   
      2.转至"组件服务管理工具"。   
      3.浏览至"启动管理工具"。   
      4.选择"组件服务"。   
        a.展开"组件服务"树,然后展开"我的电脑"。   
        b.右键单击"我的电脑",然后选择"属性"。   
        C.在   MSDTC   选项卡中,确保选中了下列选项:   网络   DTC   访问   
      网络管理   
      网络事务   
              XA   事务   
        e.另外,"DTC   登录帐户"一定要设置为"NT   Authority\NetworkService"。   
      5.单击"确定"。这样将会提示您"MS   DTC   将会停止并重新启动。   
          所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。   
      6.单击"确定"关闭"我的电脑"属性窗口。   
      四.   
      MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.   
      telnet   IP   135   
      如果是关闭的打开它.   
        
      五.   
      有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL"   的ODBC方式联接.   
      使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)   
      Check   whether   you   are   using   Remote   Access   Server   (RAS)   to   access   remote   servers.   If   so,   make   sure   that   you   have   implemented   Routing   RAS   (RRAS).   Linked   server   does   not   work   on   RAS   because   RAS   allows   only   one   way   communication.   
        
        
      七.检查你的两台服务器是否在同一个域中.   
      如果不在同一个域中,是否建立可信任联接.   
        
      八.如果是WIN2000,升级到SP4   
        
      九.升级MDAC到2.6以上,最好是2.8.
      

  3.   

    三.MSDTC设置是否正确(WIN2003).   
      1.打开命令提示,运行"net   stop   msdtc",然后运行"net   start   msdtc"。   
      2.转至"组件服务管理工具"。   
      3.浏览至"启动管理工具"。   
      4.选择"组件服务"。   
        a.展开"组件服务"树,然后展开"我的电脑"。   
        b.右键单击"我的电脑",然后选择"属性"。   
        C.在   MSDTC   选项卡中,确保选中了下列选项:   网络   DTC   访问   
      网络管理   
      网络事务   
              XA   事务   
        e.另外,"DTC   登录帐户"一定要设置为"NT   Authority\NetworkService"。   
      5.单击"确定"。这样将会提示您"MS   DTC   将会停止并重新启动。   
          所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。   
      6.单击"确定"关闭"我的电脑"属性窗口。   
      四.   
      MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.   
      telnet   IP   135   
      如果是关闭的打开它.   
        
      五.   
      有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL"   的ODBC方式联接.   
      使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)   
      Check   whether   you   are   using   Remote   Access   Server   (RAS)   to   access   remote   servers.   If   so,   make   sure   that   you   have   implemented   Routing   RAS   (RRAS).   Linked   server   does   not   work   on   RAS   because   RAS   allows   only   one   way   communication.   
        
        
      七.检查你的两台服务器是否在同一个域中.   
      如果不在同一个域中,是否建立可信任联接.   
        
      八.如果是WIN2000,升级到SP4   
        
      九.升级MDAC到2.6以上,最好是2.8.
      

  4.   

    这是另一个:1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC。
    添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。
    2、重启MS DTC服务。
    3、打开“管理工具”的“组件服务”。
        a.  浏览至"启动管理工具"。 
        b.  选择"组件服务"。 
        c.  展开"组件服务"树,然后展开"我的电脑"。 
        d.  右键单击"我的电脑",然后选择"属性"。 
          在 MSDTC 选项卡中,确保选中了下列选项: 
    网络 DTC 访问
    网络管理
    网络事务
    XA 事务
    另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。 
    4、重启MS DTC服务。
    5、再次运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC,然后删除 TurnOffRpcSecurity 项。
      

  5.   

    http://blog.csdn.net/gatr/archive/2005/07/08/417587.aspx
      

  6.   

    你尝试把两台机器的windows管理员密码设置为一样再试试.
      

  7.   

    你们没有仔细看我写的东西吧.
        1、telnet IP 135 两边都显示端口正常. 2、msdtc 
    网络DTC开启,允许客户端,允许远程管理, 
                  允许入站,允许出站 
                  不要求验证,DTC帐户:NT Authority\NetworkService 链接服务器是用IP连的。SQL SERVER方式 
    最后死活起不了事务 
    这已经把你们说的全做遍了.但最后是不行的.