5

SQL Server のデフォルトの TRANSACTION ISOLATION LEVEL が「読み取りコミット」であることは知っています。「READ UNCOMMITTED」に変更したい場合、この設定変更を行うにはどうすればよいですか?

注: 現在のセッションでのみ適用される SET TRANSACTION ISOLATION LEVEL は使用できません。何千ものクエリが関係しているため、クエリに NOLOCK を追加することはできません。

ありがとう


ご回答有難うございます。ダーティな行を読み取っても問題ありません。私たちの場合も更新は問題ではありません。しかし、私は本当にこの分離レベルのデフォルト設定を変更したいと思っています。親切に助けてください。

「SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED」ができません。私は世界的な変化を起こさなければなりません。


両方のスナップショット分離レベルを慎重に確認しました。私たちの状況では使用できません。

4

2 に答える 2

3

それをグローバルレベルで設定する必要はないと思います。多くの異なる問題が発生する可能性があるため、これをかなり慎重に設定する必要があります。

  • 失われた更新
  • 繰り返し不可能な読み取り
  • ダーティリード
  • ファントム読み取り

これをデータベースまたはサーバー レベルで設定する方法はありません。接続レベルでのみ設定できます。

データベース レベルでできる最善の方法は、ALLOW_SNAPSHOT_ISOLATIONまたはREAD_COMMITTED_SNAPSHOTプロパティを設定することです。ここでもっと読む:

http://msdn.microsoft.com/en-us/library/tcbchxcb%28VS.80%29.aspx

于 2009-11-03T23:01:24.780 に答える
0

どうですか:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

現在のトランザクションにのみ適用されます。

于 2009-11-03T22:56:07.073 に答える