一执行插入语句数据库就一直处于等待,其他用户也无法登陆到数据库,就连重启服务也处于等待状态
   搞了我一天,郁闷死了。请各位牛人指导在线等你的解答

解决方案 »

  1.   

    server link ? trigger ?
    希望这个对你有所帮助
    http://blog.csdn.net/playwarcraft/archive/2009/03/13/3986908.aspx
      

  2.   

    /*
     该触发器主要是为了同步生产系统与人事系统中的人员表变动,
    *该触发器建立在ms2000上
    *CODEBAR 是连接服务器的别名 安装在另外一台服务器,数据库是ms2005
    *MPTM 为链接服务器中要操作的数据
    */
    CREATE       TRIGGER employee_InsDel
    ON employee
    FOR INSERT
    AS
    SET NOCOUNT ONDECLARE @empNo varchar(50)
    IF EXISTS(SELECT * FROM inserted)
    BEGIN
    SELECT @empNo=bh FROM inserted
    INSERT INTO CODEBAR.MPTM.dbo.Employee(employeeNo) VALUES(@empNo)
    print '新增用户:'+@empNo
    END
    /*
    --如果删除人员也同步
    ELSE
    BEGIN
    SELECT @empNo=bh FROM deleted
    DELETE FROM CODEBAR.MPTM.dbo.Employee WHERE employeeNo=@empNo
    END*///在查询分析器中向链接服务器插入数据
    如:INSERT INTO CODEBAR.MPTM.dbo.Employee(employeeNo) VALUES('3334')
    是可以执行成功的,但是到了触发器中(我把这条插入语句放到存储过程中,在触发器中调用也一样死),
    该数据库(非连接服务器的数据库)就死了,其他用户无法再连接上该数据库,也无法重启服务。最后只有重启操作系统。
      

  3.   


     不是死循环cpu没有什么占用,就是一直在处于等待状态,是整个数据库的处于等待,其他用户无法连接上,重启服务也是在等待
      

  4.   


    可能是msdtc的问题。
    确认一下两机的msdtc是否都已经启动。