質問: False 追加情報 ---- * テーブルXにトリガーはありません * Understanding the graphical representation of the SQL Server Deadlock Graph グラフの読み方はこれを見て理解したつもりです。英語が苦手なので解釈に自信が無いのですが・・・ > > Owner edge > > > Occurs when resources are waiting on processes. In this case the Person.person table is waiting on process 62 to release it. > > > テーブル「Person.person」はプロセス62がロックを解放するのを待っている=プロセス62がテーブル「Person.person」のロックを持っている、ですよね? * SQL発行時にヒントは含めていません。 + ロック対象を指定していないです。
回答: ちょっと試してみた範囲では、Request Mode: Xでデッドロックしましたが、ほぼ同じ現象を出せました 解釈の間違ってる点ですが > > ロック対象A、Bはともに、インデックスY全体に対するロックである。 > > > インデックス全体に対するロックではなく、インデックスのキー範囲に対するロックです なので対象インデックスが同じでも、違うキーに対するロックは複数が同時に存在しえます 対策案は、 同一キーに対する削除があるなら、nowait指定で削除でのロック待ちをなくすぐらいですかね こちらはデッドロックではなくロックタイムアウトでエラーはでるので適切なハンドリングが必要ですが