SQL Backup Scriptleri ile Veri Koruma

NocturneX

Astsubay Başçavuş
Admin
Katılım
23 Kasım 2025
Mesajlar
984
Reaksiyon puanı
56
Veri yedeklemesi, her veri yöneticisinin temel sorumluluklarından biridir. SQL yedekleme scriptleri, bu süreci otomatikleştirerek, sistem yöneticilerinin hayatını kolaylaştırır. Bir SQL server üzerinde tam yedekleme almak için kullanılan temel komut, `BACKUP DATABASE` komutudur. Örneğin, `BACKUP DATABASE [VeritabaniAdi] TO DISK = 'C:\yedek\veritabani_yedegi.bak'` şeklinde bir ifade, belirlediğiniz veritabanının tam yedeğini belirtilen dizine alacaktır. Ancak, bu noktada dikkat edilmesi gereken bazı hususlar var. Yedekleme dosyasının kaydedileceği yerin erişilebilir olması, yeterli disk alanının bulunması ve dosyanın güvenli bir konumda saklanması gibi...

Yedekleme stratejisi oluştururken, sadece tam yedekleme ile yetinmemek gerekir. Farklı yedekleme türleri arasında, tam yedekleme, farklı yedekleme ve günlük yedekleme gibi seçenekler bulunuyor. Her birinin kendine has avantajları var. Örneğin, farklı yedekleme, yalnızca veritabanında değişiklik yapılan dosyaları yedeklerken, günlük yedekleme ise her gün belirli bir saatte verilerinizi güncelleyerek koruma sağlar. Bu tür yedekleme işlemlerini de otomatikleştirmek mümkün. `SQL Server Agent` kullanarak, belirli zaman dilimlerinde bu işlemleri gerçekleştirecek job'lar oluşturmak oldukça pratik...

Veri kaybı senaryoları, genellikle beklenmedik anlarda ortaya çıkar. Bu nedenle, yedekleme dosyalarınızı düzenli olarak test etmek önemlidir. Yedekleme dosyasının sağlam olup olmadığını kontrol etmek için `RESTORE VERIFYONLY` komutunu kullanabilirsiniz. Örneğin, `RESTORE VERIFYONLY FROM DISK = 'C:\yedek\veritabani_yedegi.bak'` ifadesi, yedekleme dosyasının geçerliliğini kontrol eder. Eğer bu komut başarılı olursa, yedeğinizin sağlıklı olduğu anlamına gelir. Ancak, bu aşamada karşılaşabileceğiniz hatalar, gelecekteki veri kayıplarını önleyebilmek için önemli bir uyarı niteliği taşır...

Yedekleme planlaması yaparken, sadece teknik açıdan değil, aynı zamanda iş sürekliliği açısından da düşünmek lazım. İşletmeler, veri kaybı durumunda ne kadar süre içinde sistemin yeniden çalışır hale geleceğini belirlemelidir. Bu noktada, `Recovery Point Objective (RPO)` ve `Recovery Time Objective (RTO)` kavramları devreye girer. RPO, veri kaybının kabul edilebilir seviyesini belirlerken, RTO, sistemin ne kadar sürede tekrar çalışır hale geleceğini ifade eder. Bu hedeflere ulaşmak için, yedekleme sıklığını artırmak veya ek yedekleme yöntemleri kullanmak gerekebilir...

Güvenlik, veri yedekleme sürecinin vazgeçilmez bir parçasıdır. Yedekleme dosyalarınızın kötü niyetli saldırılara karşı korunması, verilerinizi güvence altına almak adına kritik bir öneme sahiptir. Yedekleme dosyalarını şifrelemek, bu tür tehditlere karşı bir savunma mekanizması oluşturur. SQL Server üzerinde şifreli yedekleme almak için `WITH ENCRYPTION` seçeneğini kullanabilirsiniz. Örneğin, `BACKUP DATABASE [VeritabaniAdi] TO DISK = 'C:\yedek\veritabani_yedegi.bak' WITH ENCRYPTION(ALGORITHM = AES_256, SERVER CERTIFICATE = [SertifikaAdi])` şeklindeki bir komut, yedeğinizi şifreler. Ancak, şifreyi unutmamak için...

Yedekleme işlemlerinin günlük rutinler haline getirilmesi, veri koruma sürecinin en önemli parçalarından biridir. Otomatikleştirilmiş scriptler ile işlerinizi kolaylaştırabilir, zaman kaybını en aza indirebilirsiniz. Bunun için, bir SQL scripti yazıp, belirli zaman dilimlerinde çalışacak şekilde ayarlamak yeterlidir. Örneğin, bir `SQL Server Agent Job` oluşturarak, her gece 02:00'de yedekleme alacak şekilde ayarlayabilirsiniz. Bu tür bir otomasyon
 
Geri
Üst Alt