把Distributed Transaction Coordinator开启来.

解决方案 »

  1.   

    sqlserver的启动帐户跟你用查询分析器时,是否是同一个?
      

  2.   

    看看这个.
    http://dev.csdn.net/article/64/64001.shtm
      

  3.   

    lang8134(heaton)  我没理解意思,怎么会造成不是同一个的
    还有你连接地址上的事情我做过了的,还是老样子
      

  4.   

    试试下面的调整
    CREATE PROCEDURE gz_jbxx_UPDATE_create
    @gh varchar(100),
    @nr varchar(100)
    as
     
    BEGIN DISTRIBUTED TRAN --开始分布式事物
    .
    .
    .
    exec (@del) --在所有这样的语句后加入下面的代码
    IF @@ERROR <> 0
      BEGIN
        ROLLBACK TRAN --如果执行失败,回滚所有作出的修改.
        RETURN -1
      END
    .
    .
    .
    return 1*****************************************
    在触发器中获取过程的返回值
    exec @i_err = gz_jbxx_UPDATE_create @gh,@nr
    IF @i_err = -1 
      RETURN