キーコンセプトSQL最適化:デッドロック

:オリジナル キーコンセプトSQL最適化:デッドロック

 

上記の記事のトランザクション、ロック、ブロック、そして最終的にはより多くの極端な場合があるが、ロックされているデッドロック、である、状況がブロックされました。

2つのトランザクションがロックされたリソースだったときデッドロックはあるが、得られた他のリソースを要求し続け、それがデッドロックを生成します。


:デッドロックがあるために発生し
別のテーブルにA、シーケンシャルアクセスセッション。
B、セッションは、このように、競合の可能性を高め、取引、1つのトランザクションで更新またはテーブル行の多くを長時間実行します。
C、セッション1は、テーブルロックにエスカレートことを決めた、いくつかの行ロックを適用するために、セッション2をいくつかの行ロックを適用します。
   これらの行に同じデータページ、及び2つのセッションが同じページ上でロックの粒度をアップグレードする場合は、それがデッドロックします。

 

1、セッション1


   
   
  1. set lock_timeout 1000
  2. --跟踪死锁--会话1
  3. set transaction isolation level serializable
  4. begin tran
  5. update t
  6. set v = '563'
  7. where idd = 2
  8. waitfor delay '00:00:10'
  9. update t
  10. set v = '963'
  11. where idd = 1
  12. COMMIT

2、セッション2


   
   
  1. set transaction isolation level serializable
  2. begin tran
  3. update t
  4. set v = '234'
  5. where idd = 1
  6. waitfor delay '00:00:10'
  7. update t
  8. set v = '987'
  9. where idd= 2
  10. commit

3、その後、会話を開き、オープントラック

オープントレースフラグ:
              DBCC TRACEON(トレース#[、... N-]、 - 1。)[NO_INFOMSGS付き]

1を確認するか、いくつかのフラグがオンまたはオフである:
              DBCC TRACESTATUS(トレース#[、... N-]、 - 1。)[NO_INFOMSGS付き]

1.trace番号:もっとオープンにするか、トレースフラグ桁の状態をチェックする必要の一つまたは指定した
グローバルオープンな場所1またはいくつかのトレースフラグを指定した場合-1:2 -1を
3.withのNO_INFOMSGSを:このパラメータがコマンドで含まれている場合、DBCC出力メッセージが禁止されています


   
   
  1. --跟踪1222能把详细的死锁信息返回到SQL Server的日志中
  2. --标志位-1表示跟踪标志位1222应该对所有SQL Server连接全局启用
  3. DBCC TraceOn(1222,-1)
  4. go
  5. --验证标志位是否启动
  6. DBCC TraceStatus
  7. go
  8. --关闭标志位
  9. DBCC TraceOff(1222,-1)
  10. go

デッドロックランニングに終了されるクエリセッションを調整し、デッドロックの優先順位を設定する可能性 - 4、デッドロックの優先順位を設定

SET DEADLOCK_PRIORITY低| ノーマル| 高いです| 数値の優先順位


   
   
  1. --是当前连接很有可能被终止运行
  2. set deadlock_priority Low
  3. --SQL Server终止回滚代价较小的连接
  4. set deadlock_priority Normal
  5. --减少连接被终止的可能性,除非另一个连接也是High或数值优先级大于5
  6. set deadlock_priority High
  7. --数值优先级:-10到10的值,-10最有可能被终止运行,10最不可能被终止运行,
  8. --两个数字谁大,谁就越不可能在死锁中被终止
  9. set deadlock_priority 10

 

发布了416 篇原创文章 · 获赞 135 · 访问量 94万+

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12019933.html