SQLServer

SQLServerで読み取り一貫性

More than 3 years have passed since last update.

SQLServerで排他ロックにブロックされずにデータを参照するには、
READ COMMITTED SNAPSHOTを設定すると楽であります。
以下、設定方法。

1.現在の設定を確認

dbcc useroptions;

以下のようになってるかと思います。

名称未設定-3.gif

2.READ_COMMITTED_SNAPSHOT をONにする

ALTER DATABASE 'DB名'
SET READ_COMMITTED_SNAPSHOT ON;

'強制的に実行する時以下のオプションを付ける'
WITH ROLLBACK IMMEDIATE;

3.再度設定を確認

dbcc useroptions;

以下のようになればOKです。

名称未設定-4.gif

参考及び詳細: SQL Server 2005 Tips and Tips