Mövzunu Açan
#0
SQL sunucularının performansını izlemek ve sorunları teşhis etmek için kullanılan diagnostic scriptleri, yöneticilere sistemin genel durumu hakkında detaylı bilgiler sunar. Bu tür scriptler, genellikle sistem kaynaklarının kullanımı, sorgu performansı, bekleme istatistikleri ve daha fazlası hakkında veriler toplar. Aşağıda, SQL sunucusunda kullanılabilecek temel bir diagnostic scriptinin unsurlarını ele alacağım.
İlk olarak, sistemin genel durumu hakkında bilgi almak için kullanılan bazı temel sorgular vardır. Örneğin, mevcut veritabanlarının boyutunu görmek için şu sorgu kullanılabilir:
Bu sorgu, tüm veritabanlarının boyutunu megabayt cinsinden gösterir ve yöneticilerin hangi veritabanlarının daha fazla depolama alanı kullandığını anlamalarına yardımcı olur.
Ayrıca, sorguların ne kadar sürede çalıştığını görmek için aşağıdaki sorguyu kullanabiliriz:
Bu sorgu, en fazla zaman alan 10 sorguyu listeler ve yöneticilerin optimizasyon yapması gereken alanları belirlemesine yardımcı olur.
Son olarak, bekleme istatistiklerini incelemek de önemlidir. SQL Server'da bekleme istatistikleri, performansı etkileyen çeşitli faktörleri anlamak için kritik öneme sahiptir. Aşağıdaki sorgu, en yaygın bekleme türlerini ve bunların süresini gösterir:
Bu bilgiler, yöneticilerin sistemdeki darboğazları tanımlamasına ve iyileştirme stratejileri geliştirmesine olanak tanır. SQL diagnostic scriptleri, sunucu üzerindeki problemleri tespit etmek ve performansı artırmak için vazgeçilmez bir araçtır. Bu scriptlerin düzenli olarak çalıştırılması, sistemin sağlığını korumak açısından büyük önem taşır.
İlk olarak, sistemin genel durumu hakkında bilgi almak için kullanılan bazı temel sorgular vardır. Örneğin, mevcut veritabanlarının boyutunu görmek için şu sorgu kullanılabilir:
CODE
12345678
SELECT
name AS DatabaseName,
size * 8 / 1024 AS SizeMB
FROM
sys.master_files
WHERE
type_desc = 'ROWS';
Bu sorgu, tüm veritabanlarının boyutunu megabayt cinsinden gösterir ve yöneticilerin hangi veritabanlarının daha fazla depolama alanı kullandığını anlamalarına yardımcı olur.
Ayrıca, sorguların ne kadar sürede çalıştığını görmek için aşağıdaki sorguyu kullanabiliriz:
CODE
12345678910111213
SELECT
TOP 10
total_worker_time AS TotalCPUTime,
execution_count AS ExecutionCount,
total_elapsed_time / 1000 AS TotalElapsedTimeMS,
sql_text.text AS QueryText
FROM
sys.dm_exec_query_stats AS stats
CROSS APPLY
sys.dm_exec_sql_text(stats.sql_handle) AS sql_text
ORDER BY
total_elapsed_time DESC;
Bu sorgu, en fazla zaman alan 10 sorguyu listeler ve yöneticilerin optimizasyon yapması gereken alanları belirlemesine yardımcı olur.
Son olarak, bekleme istatistiklerini incelemek de önemlidir. SQL Server'da bekleme istatistikleri, performansı etkileyen çeşitli faktörleri anlamak için kritik öneme sahiptir. Aşağıdaki sorgu, en yaygın bekleme türlerini ve bunların süresini gösterir:
CODE
1234567891011
SELECT
wait_type,
wait_time_ms / 1000.0 AS WaitTimeSec,
waiting_tasks_count AS WaitCount
FROM
sys.dm_os_wait_stats
WHERE
wait_time_ms > 0
ORDER BY
wait_time_ms DESC;
Bu bilgiler, yöneticilerin sistemdeki darboğazları tanımlamasına ve iyileştirme stratejileri geliştirmesine olanak tanır. SQL diagnostic scriptleri, sunucu üzerindeki problemleri tespit etmek ve performansı artırmak için vazgeçilmez bir araçtır. Bu scriptlerin düzenli olarak çalıştırılması, sistemin sağlığını korumak açısından büyük önem taşır.