私はデッドロックについて理解しています。同じリソースに対して2つのプロセスが競合しようとしています.2つのプロセスは、同じデータ行に「書き込み」しようとしています。 1つのプロセスがすべてデータを読み取っている場合、他のプロセスがデータを更新している場合、そのプロセスはどのようにリソースの競合ですか?それでも、デフォルトのトランザクションレベル 'ReadCommitted'に設定されているデータベースでは、いくつかのデッドロック例外が発生しています。 ReadComitted definitin - 変更された(ただしまだコミットされていない)データは読み取れません。これは問題ありませんが、この「ダーティーリード」が発生した場合、SQL Serverはデッドロック例外をスローする必要がありますか? 誰もがこのシナリオで実際の体験をしていますか?私はブログの投稿を見つけた(stackoverflowの開発者によると、これ以下)、これは本当かもしれないと主張する。読み取り専用の分離レベルでデッドロック(SQL Server)が発生することはありますか?
ありがとうございます。
さて、あなたは2つの更新トランザクションについて説明しています。その場合、デッドロックに陥るのは理にかなっています。私の質問です - トランザクションの一つは、ちょうど読書です - 更新なし。もう1つは、読み込まれている同じレコードに書き込んでいます。どのようにデッドロックが発生する可能性がありますか? – user2736158
私の頭の上には、デッドロックしてはいけないはずですが、トランザクションが何をしようとしているのかという詳細を編集した場合は、その下に到達する可能性があります。 – acfrancis