これは、選択によって 2 つの異なるインデックスがロックアウトされ、一方、更新によって同じインデックスが逆の順序でロックアウトされるために発生する可能性があります。最初のインデックスは、アクセスする必要があるすべての列をカバーしていないため、選択には 2 つのインデックスが必要です。インデックスのキー列を更新する場合、ロックを取得する必要があるため、更新には 2 つのインデックスが必要です。
http://blogs.msdn.com/bartd/archive /2006/09/25/770928.aspx 素晴らしい説明があります。推奨される修正には、select が必要とするすべての列をカバーするインデックスの追加、スナップショット分離への切り替え、または select が通常は必要としない更新ロックの取得を明示的に強制することが含まれます。