请教大家 什么是死锁?为什么会出现死锁?怎么知道死锁出现了?谢谢大家

解决方案 »

  1.   

    概念不说了死锁往往由于以下原因引起:
    1、程序错误,比如一个事务需要操作两个表,由于程序错误在有时是先操作a表后操作b表,有时是先操作b表后操作a表,就有机会互相等待而造成死锁。
    2、事务太大,大事务操作的表多,操作步骤也多,死锁的机会也多。
    3、性能问题,有些语句性能太差,长时间的加锁容易与其他事务形成死锁。
      

  2.   

    死锁可以这样来跳出
    create procedure XX 
    as
    set Lock_TimeOut 5000  --设定死锁后超时跳出
    set XACT_Abort on   --设定产生错误则事务回滚
    .....