0

デッドロックを調査していますが、プロファイラーのデッドロック xml ファイルで、プロセスprocess5332cf8がスナップショット分離レベル ( )でトランザクションを実行していることがわかりますisolationlevel="snapshot (5)"

しかし、どういうわけか、ページにIXロックを保持していて、別のページを取得したいと考えています。

この理由は何ですか (例外として、トランザクションの途中で分離レベルが非スナップショットに変更されたことはありません)。

スナップショット IL について何か不足していますか?

PS: 完全な xml: http://ideone.com/yuU9td

4

1 に答える 1

5

書き込みは常にロックを取得します。IX は書き込みロックです。他のプロセス (2 つの SELECT、プロセス process6593498 と process5cc1498) については、コミットされた読み取りの下にあります。

スナップショット分離との競合を避けたい場合は、まず 読み取りトランザクションに使用する必要があります。

于 2013-07-26T15:48:11.720 に答える