sybase 触发器导致的问题
本帖最后由 yjailyt 于 2010-6-7 10:44 编辑错误情况是这样的:
1。在sybase建立多个触发器(增、删、改触发),某些表会出现在操作表的时候出现死机现象,但很快发现,即使操作的对象集为空,数据库服务器也立刻陷入一种死循环状态,update操作永远执行不完,并且进程无法kill,用户越连越多,最后不仅日志很快又满了,而且用户连接数也用完了。找了一下午原因,发现还是drop掉这个update的trigger之后就没问题了,猜测可能是由于某种客户端操作的中止,使这个表的为触发器预留的inserted和deleted数据缓存滞留在系统中,并随着trigger的触发再次被处理,进入死循环,重启服务之后,依然存在,然后再被触发,再造成死循环。
2。最终,新建了一个同结构的表,把数据全部导过去,然后重建索引、触发器,最后再删除旧表,把新表的名称改成现在用的这个,问题终于解决了。问题就出在这个表上。按说sybase应该不会出现这样的问题的。
如果多次频繁出现这种错误,将是灾难性的,如何避免这种错误的发生,各位有没好的建议或方法,希望指导一下!万分感谢! 可能是数据库的bug呢。
页:
[1]