程序疯狂的插入数据,多个程序统一时间插入同一表中
出现这样 “Transaction (Process ID 66) was deadlocked on lock resources with another process has been chosen as the deadlock victim. Rerun the transaction.”的错误,
请问如何处理, 谢谢!!!

解决方案 »

  1.   

      
    并发操作,引起死锁
    两个或者多个trans,同时请求对方正在请求的某个对象,导致双方互相等待
    使用sqlserver提供的表级锁 
    如HOLDLOCK、NOLOCK、 PAGLOCK、READCOMMITTED等
    避免事务中的用户交互。 
    保持事务简短并处于一个批处理中。 
    使用较低的隔离级别。 
    使用基于行版本控制的隔离级别。 
    将 READ_COMMITTED_SNAPSHOT 数据库选项设置为 ON,使得已提交读事务使用行版本控制。