ググってみてもそれらしい情報が無かったので書いてみる。 原因不明のデッドロックで悩んでる人を救えるかもしれないという期待もあり。 テスト環境 SQL SERVER 2008 Express SP1 テスト内容 概要 あるテーブルを更新する処理と参照する処理でデッドロックが発生することを確認する。 詳細 A.クラスタ化インデックスを使用して更新項目を特定し、 非クラスタ化インデックスキー項目のカラムを更新する。 B.非クラスタ化インデックスを使用して参照項目を特定し、 該当項目を参照する。 AとBの処理が同時に動いた場合にデッドロックになることを確認する。 テーブル構成 列 id:int Status:int Memo:char(256) インデックス クラスタ化インデックス ID 非クラスタ化インデックス Status 内容 適当なデータ1000件 更新SQL SET TRANSACTIO
![SQL SERVERにおけるデッドロック(内部仕様)〜クラスタ化インデックスと非クラスタ化インデックス間のデッドロック〜 - bxdxmx3](https://cdn-ak-scissors.b.st-hatena.com/image/square/c0d93af204b9aa2b3360b6c060a6a4ce4723fa04/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fe%2Feo-oe-aaaa%2F20090820%2F20090820141815.jpg)