SQL Server のデッドロックに関するすべてのドキュメントでは、操作 1 がリソース A をロックしてからリソース B にアクセスしようとし、操作 2 がリソース B をロックしてリソース A にアクセスしようとするシナリオについて説明しています。
ただし、一部のビジーなアプリケーションでは、選択と更新の間、または複数の選択の間にデッドロックが発生することがよくあります。デッドロック トレース出力の細かい点のいくつかはかなり理解できないと思いますが、2 つの単一操作の間でデッドロックが発生する原因を理解したいと思います。確かに、選択に読み取りロックがある場合、更新は排他ロックを取得する前に待つ必要があり、その逆も同様ですか?
これは SQL Server 2005 で発生しており、違いがあるとは思いません。