Konuyu Açan
#0
SQL veritabanlarının performansını izlemek, sistem yöneticileri ve veritabanı yöneticileri için kritik bir öneme sahiptir. Uygulamalarımızın sağlıklı bir şekilde çalışabilmesi için veritabanı performansını sürekli olarak takip etmeliyiz. Bu yazıda, SQL veritabanı izleme işlemlerini otomatikleştirmek için kullanılabilecek basit bir script örneği sunacağım.
İlk olarak, izlemek istediğimiz temel metrikleri belirlememiz gerekiyor. Bu metrikler arasında:
Aşağıda, SQL Server için yazılmış basit bir izleme scripti bulacaksınız. Bu script, belirli aralıklarla çalışarak yukarıda belirtilen metrikleri toplar ve sonuçları bir tabloya kaydeder.
Bu scriptin temel işlevi, izlemek istediğimiz metrikleri toplayarak
İzleme scriptini belirli aralıklarla çalıştırmak için bir SQL Agent Job oluşturmak, izleme sürecini otomatikleştirmemizi sağlar. Bu sayede, belirli bir zaman diliminde veritabanı performansını düzenli olarak takip edebiliriz.
Sonuç olarak, SQL veritabanı izleme scriptleri, sistem yöneticilerinin ve veritabanı yöneticilerinin iş yükünü hafifletirken, performans sorunlarını önceden tespit etmeye yardımcı olur. Veritabanınızın sağlığını korumak için bu tür scriptleri uygulamak, uzun vadede önemli kazançlar sağlar.
İlk olarak, izlemek istediğimiz temel metrikleri belirlememiz gerekiyor. Bu metrikler arasında:
- Sorgu süreleri
- Aktif bağlantı sayısı
- CPU ve bellek kullanımı
- Disk alanı kullanımı
- Uzun süren sorgular
Aşağıda, SQL Server için yazılmış basit bir izleme scripti bulacaksınız. Bu script, belirli aralıklarla çalışarak yukarıda belirtilen metrikleri toplar ve sonuçları bir tabloya kaydeder.
CODE
1234567891011121314151617
CREATE TABLE MonitoringResults (
ID INT IDENTITY(1,1) PRIMARY KEY,
QueryTime DATETIME,
ActiveConnections INT,
CPUUsage FLOAT,
MemoryUsage FLOAT,
DiskUsage FLOAT
);
INSERT INTO MonitoringResults (QueryTime, ActiveConnections, CPUUsage, MemoryUsage, DiskUsage)
SELECT
GETDATE(),
(SELECT COUNT(*) FROM sys.dm_exec_sessions WHERE is_user_connected = 1),
(SELECT total_cpu_usage FROM sys.dm_os_sys_info),
(SELECT total_physical_memory_kb / 1024.0 FROM sys.dm_os_sys_memory),
(SELECT total_disk_space_kb / 1024.0 FROM sys.dm_os_volume_stats(NULL, NULL));
Bu scriptin temel işlevi, izlemek istediğimiz metrikleri toplayarak
MonitoringResults adlı bir tabloya eklemektir. Script, veritabanı yöneticilerine anlık durum hakkında bilgi vermekle kalmaz, aynı zamanda zaman içerisinde performans trendlerini analiz etme fırsatı sunar.İzleme scriptini belirli aralıklarla çalıştırmak için bir SQL Agent Job oluşturmak, izleme sürecini otomatikleştirmemizi sağlar. Bu sayede, belirli bir zaman diliminde veritabanı performansını düzenli olarak takip edebiliriz.
Sonuç olarak, SQL veritabanı izleme scriptleri, sistem yöneticilerinin ve veritabanı yöneticilerinin iş yükünü hafifletirken, performans sorunlarını önceden tespit etmeye yardımcı olur. Veritabanınızın sağlığını korumak için bu tür scriptleri uygulamak, uzun vadede önemli kazançlar sağlar.