【SQLServer】ロックのエスカレーション防止
SQL Server 2008~は、テーブル単位にロックのエスカレーションを無効化できる。
ALTER TABLE dbo.T1 SET ( LOCK_ESCALATION = DISABLE )
LOCK_ESCALATION | 説明 |
---|---|
0 = TABLE | テーブルレベルの粒度でエスカレーション(既定値) |
1 = DISABLE | ほとんどの場合でロックエスカレーションを禁止 |
2 = AUTO | テーブルスキーマに適したロックエスカレーションの粒度を選択 |
参考:
ALTER TABLE (Transact-SQL)
テーブルの LOCK_ESCALATION のオプションを確認する。
SELECT object_id ,name ,lock_escalation ,lock_escalation_desc FROM sys.tables