dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Terimler Sözlüğü/Lock Escalation
Lock EscalationArchitecture & Connectivity

Lock Escalation (Kilit Seviyesi Yükseltmesi)

Bir işlem tek bir tabloda 5000'den fazla satır veya sayfa kilidi tuttuğunda SQL Server'ın kilitleri tek bir tablo kilidine yükseltmesidir.

Derin Mimari İncelemesi

Her kilit veri yapısı bellekte 96 bayt yer tutar. SQL Server kilit yöneticisinin bellek tükenmesini önlemek için tek bir nesnede eşik aşıldığında kilitleri Tablo düzeyine (TABLOCK) yükseltir.

Bu durum bellek tasarrufu sağlasa da eşzamanlılığı (concurrency) tamamen öldürür ve diğer tüm okuma/yazma oturumlarını bloke ederek kaskad kilit kuyruklarına yol açar. Çözüm toplu güncellemeleri küçük parçalara (batch) bölmektir.

Üretim Gözlem ve Tanı Sorguları

SQL Server
SELECT resource_type, resource_associated_entity_id, request_mode, request_status, request_session_id FROM sys.dm_tran_locks WHERE request_mode IN ('X', 'S') AND resource_type = 'OBJECT';