Bilkomsis rehberleri
SQL Server bakım planı: yedek, bütünlük kontrolü ve indeks bakımı
ERP, muhasebe ve üretim yazılımlarının çoğu verilerini SQL Server veritabanlarında tutar. Bu veritabanları kurulduktan sonra çoğu zaman kendi haline bırakılır: işlem günlüğü (log) dosyası diski doldurur, yedekler beklenen şekilde alınmaz ve veri bozulmaları ancak bir rapor hata verdiğinde fark edilir. Düzenli bir bakım planı bu sorunların çoğunu önceden önler; sunucu hizmetlerimizde de ilk baktığımız konulardan biridir.
1. Kurtarma modelini ve yedekleri belirleyin
Her veritabanının kurtarma modeli (Simple veya Full) yedekleme stratejisini belirler. Full modelde tam yedeğin yanında düzenli işlem günlüğü yedekleri alınmazsa log dosyası sürekli büyür ve belirli bir zamana geri dönme imkânı da kullanılamaz. Simple modelde ise yalnızca son tam veya fark yedeğine dönülebilir. Hangi modelin uygun olduğuna, ne kadar veri kaybını göze alabileceğinize, yani RPO hedefinize göre karar verin.
2. Bütünlük kontrolü yapın
Disk veya depolama kaynaklı bozulmalar veritabanında uzun süre fark edilmeden kalabilir; bozuk sayfalar yedeklere de taşınır. DBCC CHECKDB komutu veritabanının mantıksal ve fiziksel bütünlüğünü denetler. Microsoft’un DBCC CHECKDB belgesi komutun seçeneklerini ve çıktısını ayrıntılı açıklar. Kontrolü düzenli aralıklarla ve yoğun olmayan saatlerde çalıştırın.
3. İndeks ve istatistik bakımı
Veri ekleme ve silme işlemleriyle indeksler zamanla parçalanır ve sorgu planlarında kullanılan istatistikler güncelliğini yitirir. Bu durum raporların ve ekranların yavaşlamasına yol açabilir. İndekslerin parçalanma durumuna göre yeniden düzenlenmesi veya yeniden oluşturulması ve istatistiklerin güncellenmesi bakım planına eklenmelidir.
4. Bakım takvimi örneği
| İş | Sıklık (örnek) | Not |
|---|---|---|
| Tam yedek | Günlük veya haftalık | Veri büyüklüğüne ve kesinti hedefine göre |
| Fark yedeği | Günlük | Haftalık tam yedekle birlikte |
| İşlem günlüğü yedeği | Saatlik veya daha sık | Yalnızca Full kurtarma modelinde |
| DBCC CHECKDB | Haftalık | Mesai dışı |
| İndeks ve istatistik bakımı | Haftalık | Parçalanma düzeyine göre |
| Geri yükleme testi | Düzenli aralıklarla | Test ortamında |
5. İşlerin çalıştığını takip edin
Bakım işleri SQL Server Agent ile zamanlanır; ancak sessizce başarısız olan bir iş haftalarca fark edilmeyebilir. Başarısız işler için e-posta bildirimi tanımlayın, disk doluluğunu izleyin ve yedeklerin 3-2-1 kuralına uygun şekilde başka bir ortama da kopyalandığından emin olun. SQL Server Express sürümünde Agent bulunmadığından bakım işlerinin Windows Görev Zamanlayıcı gibi bir yöntemle planlanması gerekir.
Örneğin varsayımsal bir şirkette ERP veritabanı Full kurtarma modelinde çalışıyor ancak yalnızca gece tam yedek alınıyor olsun. İşlem günlüğü dosyası aylar içinde diski doldurur ve ERP bir sabah açılmaz. Saatlik günlük yedeği eklenmiş olsaydı dosya kontrol altında kalır ve gün içinde belirli bir ana dönmek de mümkün olurdu.
Geri yükleme testleri için yedekten geri yükleme testi rehberimize bakabilirsiniz. Veri yönetimi hizmetimiz kapsamında SQL Server veritabanlarınız için bakım ve yedekleme planını birlikte kurabiliriz.
