环境:SQL SERVER 2005 + JDK1.5
近期在进行项目维护时,在一个日常读写操作频繁的数据表上增加了一个触发器,在该表insert、update、delete时,将该表数据全部复制到处于同一服务器上的另一个数据库中,系统实际运行时发现抛出异常:
事务(进程 ID 88)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteUpdate(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeUpdate(Unknown Source)
删除触发器后,系统恢复正常。
初步怀疑是由于数据表数据变化频繁,触发器来不及执行造成的。
在SQL Server 2005环境下,为频繁读写的表添加触发器后出现死锁异常,异常信息提示被选作死锁牺牲品,删除触发器后系统恢复正常。
3041

被折叠的 条评论
为什么被折叠?



