トランザクション分離レベルは、接続レベルとステートメント/トランザクションレベルの両方で定義できます。
シナリオを正しく理解している場合、特定の接続内の他のアクティビティの大部分が読み取り専用アクティビティになる場合は、特定の更新クエリの前にのみトランザクション分離レベルを調整することを検討します。
SQL Serverのデフォルトの分離レベルは読み取りコミットであることに注意してください。したがって、接続レベルで別の分離レベルを設定する場合は、更新前にトランザクション/ステートメントレベルで読み取りコミットに切り替える必要があります。
もちろん、考慮すべきことの1つは、デフォルトの分離レベルをそのままにしておくことです。Read Committedが一般的な読み取りアクティビティに適さないと感じる特定の理由はありますか?
わかる?さらに詳しい説明が必要な場合はお知らせください。
乾杯、ジョン
コメントに基づいて更新。
十分に公平なことですが、ハイエンドのOLTPデータベースを開発している場合は、行のバージョニングと呼ばれるSQLServerテクノロジ/原則を検討することをお勧めします。これにより、いわばレコードのバージョンの読み取りを実行できるようになります。このような手法を使用すると、tempdbにオーバーヘッドが発生しますが、十分なハードウェアを使用している場合は、それが適切な場合があります。次のホワイトペーパーは、SQLServerの行のバージョン管理/スナップショットアイソレーションに関する優れたガイドです。
http://msdn.microsoft.com/en-us/library/ms345124.aspx