特定のテーブルでLOCK_ESCALATIONの現在の設定を見つける方法はありますか?システムビューから見つけることができますか?
私の知る限り、 SQL Server Profilerを使用して調べる必要があります 、Lock:Escalation
イベント
エスクレーション情報が sys.dm_tran_locks にないか、その前身です
設定を知りたいとのことですが。
これは簡単です。以下のクエリを実行するだけです。可能な値は、TABLE、AUTO、およびDISABLEです。
select t.lock_escalation_desc from sys.tables t where t.name = 'your_table';
TABLEがデフォルトのモードです。このモードでは、ロックはPAGEまたはROWの両方から直接TABLEレベルに移動します。
DISABLEはシナリオによっては役立つ場合がありますが、慎重に使用してください。
AUTOには、ROW/PAGEとTABLEの中間レベルが含まれます。これはPARTITIONレベルです。テーブル全体をロックする代わりに、必要なパーティションのみをロックします。