「すべてのステートメント(選択/挿入/削除/更新)には、トランザクションに関係なく分離レベルがあります」というのは本当ですか?
トランザクション内でステートメントの更新を設定したシナリオがあります(ReadCommitted)。そして、トランザクションにない別のセット(selectステートメント)。
- この場合、最初のセットが実行されているとき、別の待機があります。
DBにREAD_COMMITTED_SNAPSHOTを設定すると、デッドロックが発生します。
ALTER DATABASE Amelio SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE Amelio SET READ_COMMITTED_SNAPSHOT ON
この問題を解決するには、TransactionScopeに「Select」ステートメントを配置する必要がありますか?