程序疯狂的插入数据,多个程序统一时间插入同一表中
出现这样 “Transaction (Process ID 66) was deadlocked on lock resources with another process has been chosen as the deadlock victim. Rerun the transaction.”的错误,
请问如何处理, 谢谢!!!
出现这样 “Transaction (Process ID 66) was deadlocked on lock resources with another process has been chosen as the deadlock victim. Rerun the transaction.”的错误,
请问如何处理, 谢谢!!!
并发操作,引起死锁
两个或者多个trans,同时请求对方正在请求的某个对象,导致双方互相等待
使用sqlserver提供的表级锁
如HOLDLOCK、NOLOCK、 PAGLOCK、READCOMMITTED等
避免事务中的用户交互。
保持事务简短并处于一个批处理中。
使用较低的隔离级别。
使用基于行版本控制的隔离级别。
将 READ_COMMITTED_SNAPSHOT 数据库选项设置为 ON,使得已提交读事务使用行版本控制。