dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Script #55
sqlserver
Performanceread-onlyMin Version: 2008

SQL Server Dosya Bazında Disk I/O Gecikmesi

Her veri ve log dosyası için okuma/yazma gecikmesini ms cinsinden hesaplar. Disk kaynaklı yavaşlamayı kanıtlamak için kullanılır.

#io-latency#virtual-file-stats#storage
sqlserver · sql
SELECT DB_NAME(vfs.database_id) AS db_name, mf.physical_name, mf.type_desc,
       vfs.num_of_reads, vfs.num_of_writes,
       CAST(vfs.io_stall_read_ms  / NULLIF(vfs.num_of_reads, 0)  AS DECIMAL(10,1)) AS avg_read_ms,
       CAST(vfs.io_stall_write_ms / NULLIF(vfs.num_of_writes, 0) AS DECIMAL(10,1)) AS avg_write_ms
FROM sys.dm_io_virtual_file_stats(NULL, NULL) vfs
JOIN sys.master_files mf ON mf.database_id = vfs.database_id AND mf.file_id = vfs.file_id
ORDER BY (vfs.io_stall_read_ms + vfs.io_stall_write_ms) DESC;
Operasyonel Notlar & İyileştirme Aksiyonu

Yaklaşık hedefler: veri dosyası <20 ms, log dosyası <5 ms.

Ü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: 2008) 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.