使用的是MS-SQL2005。谁碰到这个问题?
我在1个表A加上了触发器,
已有程序不断将数据不断写入表A,
而该触发器作用仅仅是将新写入到表A的数据写到另1个表B中,触发器在数据插入后出发。之前一直运行很好,现在突然出现了1个问题:
表A没数据录入了!但禁用该触发器后,又有数据录入了,再启动触发器,又没数据了?
我重启了数据库服务器,情况依旧,
哪位大侠知道怎么解决啊?

解决方案 »

  1.   

    看看那个表有没有别的触发器,关于INSERT的。
    如果还不行,用事件探查器跟踪一下,或许会有所收获。
      

  2.   

    还有一个可能:在触发器里向B表插入数据时出错,导致A表的数据插入回滚。
    你在触发器前面加上这句
    set xact_abort off 试试,看看A表的数据能否插入。
    重点检查一下向B表插入数据出错的情况,如A表没有主键,但是B表有主键,导致插入出错。
      

  3.   


    set xact_abort off 
    这个写到触发器里吗?
      

  4.   

    我试了set xact_abort off 后,
    表A有数据了,表B数据了,有什么原因可能造成这种情况呢?触发器只是把数据拷贝到表B中。
    表A没有主键,表B有1个主键,但查询对应该主键表A的字段是有值的。而且该触发器在其他机器上运行良好。