dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Script #41
sqlserver
Lockingread-onlyMin Version: 2012

SQL Server'da Çalışan İstekler ve Bloklama Zinciri

Aktif istekleri, bekleme tiplerini, bloklayan oturumları ve çalışan ifadeyi birlikte gösterir. Yavaşlama anında ilk çalıştırılacak teşhis sorgusudur.

#dmv#blocking#sessions#incident
sqlserver · sql
SELECT r.session_id, r.blocking_session_id, r.status, r.command,
       r.wait_type, r.wait_time AS wait_ms,
       r.cpu_time, r.logical_reads,
       DB_NAME(r.database_id) AS db_name,
       s.login_name, s.host_name,
       SUBSTRING(t.text, (r.statement_start_offset/2)+1,
         ((CASE r.statement_end_offset WHEN -1 THEN DATALENGTH(t.text)
           ELSE r.statement_end_offset END - r.statement_start_offset)/2)+1) AS running_statement
FROM sys.dm_exec_requests r
JOIN sys.dm_exec_sessions s ON s.session_id = r.session_id
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t
WHERE r.session_id <> @@SPID
  AND s.is_user_process = 1
ORDER BY r.blocking_session_id DESC, r.wait_time DESC;
Operasyonel Notlar & İyileştirme Aksiyonu

Üretim ortamında çalıştırmadan önce test ortamında doğrulayın. Salt okunur teşhis sorgusudur; sistem kilitlerine yol açmaz.

Üretim Güvenliği & Çalıştırma Standartları
  • Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
  • Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 2012) doğrulayın.
  • İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.