Her ne kadar sunucular sürekli çalışmak için tasarlanmış olsalar da; elektrik kesilmesi, güç kaynağı bozulması, işlemcilerin yanması,RAM hataları gibi sorunlar sunucunun kapanmasına neden olabilir.
![]() |
SQL |
Her ne kadar sunucular sürekli çalışmak için tasarlanmış olsalar da; elektrik kesilmesi, güç kaynağı bozulması, işlemcilerin yanması,RAM hataları gibi sorunlar sunucunun kapanmasına neden olabilir. İstem dışı bir kapanma sonucunda, SQL Server Buffer Cache ve Log Buffer gibi RAM bölgelerinde yer alan veriler kaybedilir. Bu durumda, SQL Server'in henüz Transaction Log'lara kaydedemediği verilerle ilgili otomatik kurtarma işlemi (SQL Server Automatic Recovery) SQL Server Servisinin çalışması ile devreye girer. Bu işlem sayesinde, veritabanı erişime açılma öncesinde, SQL Server tarafından harici bir müdahele gerekmeksizin, son kapanan transaction noktasına kadarki değişiklikler yapılarak, veritabanı kararlı hale getirilir.
Otomatik Kurtarma, öncelikle Log dosyasına göre COMMIT olan ama diske yansımamış transaction'lar varsa ileri sarma (ROLLFORWARD) işlemine tabi tutar ve logları 'uygulandı' olarak işaretler. Bütün loglar bittiğinde, açık kalan transactionlar varsa (bir transaction COMMIT ile sonlanmamışsa açık kalmış demektir) geri sarım (ROLLBACK işlemi) işlemine tabi tutulur. Böylelikle son biten sağlıklı transaction noktasına veritabanı geri döndürülmüş olur ve kararlı bir noktaya getirilmiş olur.
Veritabanı Loglama Seçeneklerini Anlamak
Her bir veritabanı için transaction log dosyasına yansıtılacak logların seviyeleri ayarlanabilir. Simple, Bulk Logged ve Full Recovery olmak üzere 3 farklı loglama seviyesi mevcuttur. Loglama seviyelerini veritabanının kritikliği belirler. SQL Server'da oluşturulan yeni bir veritabanı için varsayılan seviye Full Recovery seviyesidir. Bu seviyede her değişim loglanır. Simple Recovery modda ise sadece verilerin tutarlılığını garanti edecek kadar log tutulur.
YORUMLAR