SQL Server, birçok işletmenin verilerini sakladığı ve işlem yürüttüğü kritik bir veri tabanı yönetim sistemidir. Bu nedenle, herhangi bir sistem çökmesi, yanlışlıkla silme veya veri kaybı durumunda kurtarma için yedekleme işlemi hayati önem taşır. Bu makalede, SQL Server veri tabanlarının backup (yedekleme) türleri , backup (yedekleme) işlemi mantığı ve backup (yedekleme) stratejisi hakkında bilmeniz gerekenleri anlatacağız.
SQL Server Yedekleme Türleri
SQL Server’da, yedekleme işlemini gerçekleştirmek için üç farklı yöntem vardır:
1) Full Backup (Tam Yedekleme)
Tam yedekleme, veri tabanının tamamının yedeklenmesi işlemidir. Bu işlem sırasında, veri tabanındaki tüm veriler ve nesneler yedeklenir ve veri tabanı bir bütün olarak geri yüklenebilir. Burada Full Backup bittiği andaki databasenin bir yedeğini oluşturur, Full Backup işlemleri databasenin boyutuna göre işlemlerin süresi değişebilir.
2) Differential Backup (Fark Yedekleme)
Fark yedekleme, son tam yedekleme işleminden sonra yapılan değişikliklerin yedeklenmesi işlemidir. Bu işlem, tam yedeklemenin ardından yapılan değişikliklerin yedeklenmesiyle gerçekleştirilir ve bu sayede veri tabanının geri yüklenmesi daha hızlı bir şekilde yapılabilir. Dikkat edilmesi gereken önemli husus her Differential backup son tam yedekleme işlemi ile Differential Backup bittiği ana kadar ki yedekleme işlemidir. Diğer önemli bir hususta Differential Backup son tam yedekleme(full) işlemine bağlı olduğundan Full Backup bir arza meydana gelmesi durumunda Differential Backup bir anlam ifade etmeyecektir ve geri yükleme kullanılamayacaktır. Differential Backup işlemleri databasenin boyutuna göre işlemleri süresi değişebilir.
3) Transaction Log Backup(İşlem Günlüğü Yedekleme)
İşlem günlüğü yedeklemesi, bir veri tabanındaki işlem günlüğünün yedeklenmesi işlemidir. Bu yedekleme yöntemi, veri tabanındaki değişikliklerin takibini yaparak veri kaybını en aza indirir. İşlem günlüğü yedeklemesi, fark yedeklemesiyle birlikte kullanılarak veri kaybı riskini minimuma indirir. Transaction Log Backuplar zincir mantığı vardır. Zincirlerden birin kopması durumunda koptuğu yerden sonrasındaki Log Backuplar bir anlam ifade etmeyecek en son koptuğu yerdeki Log Backup anına dönülebilecektir.
SQL Server Yedekleme İşlemi Mantığı
Olağanüstü durum kurtarma için en uygun yedekleme türlerini seçmek çok önemlidir. Bir veri tabanı yedekleme planı tanımlarken üç temel soru şunlardır:
-
Verilerin önemi nedir?
- Verilerin önemine bağlı olarak, optimum bir yedekleme stratejisi tanımlayabilirsiniz. Finans veya bankacılıkla ilgili verileriniz varsa, hiçbir veri kaybı tolere edilemez.
- Öte yandan, bazı anket verileriniz veya coğrafi verileriniz varsa, bazı veri kayıpları tolere edilebilir veya bunları çevrimiçi kaynaklardan geri almamız bizim için daha kolay olabilir.
- Bu nedenle, verileriniz çok önemliyse ve herhangi bir veri kaybına tahammül edemiyorsanız, stratejiniz olarak üç SQL Server yedekleme türünün (Tam Yedekleme + Differential Yedekleme + Log Yedekleme) bir kombinasyonunu seçmelisiniz.
- Verileriniz çok önemli değilse ve bir miktar veri kaybı tolere edilebilirse, haftalık veya günlük gibi belirli bir aralıkta tam veri tabanı yedeklemeyi tercih edebilirsiniz.
-
Herhangi bir veri kaybı tolere edilebilir mi?
- Bir önceki noktada tartıştığımız gibi, verileriniz çok önemliyse ve hiçbir veri kaybı tolere edilmiyorsa, Full + Differential + Log yedeklemesini tercih edebilirsiniz. Bir tür veri kaybına izin veriliyorsa, Full + Differential veya yalnızca tam veritabanı yedeklemesini seçebilirsiniz. Veri tabanınızı zamanında geri yüklemek istiyorsanız, Log bir yedekleme almalı ve bunları geri yüklemelisiniz.
-
Veri tabanınız ne kadar büyük?
Boyut ayrıca en uygun yedekleme sürecini seçmede de önemlidir.
- Küçük bir veri tabanınız varsa, küçük veri tabanları için yer sorunu olmayacağından, periyodik olarak tam veri tabanı yedeği alabilirsiniz.
- Orta ölçekli bir veri tabanınız varsa full + Differential yedekler alabilirsiniz.
- Daha büyük veri tabanları için, tam veri tabanı yedeklerinden daha fazla işlem ve fark yedeklemesi almalısınız; aksi halde yer sorunu yaşarsınız.
Şimdi bir örnekle backup stratejimizi kontrol edelim.
*Normalde bu backupların hepsinin bir LSN numaralı olur, ancak biz bu makalemizde o konuya değinmeyeceğiz.
Not: SQL Server’da, “Log Sequence Number” (LSN) olarak adlandırılan benzersiz bir sayı dizisi, LSN değerleri bir veri tabanı yönetim sistemi tarafından kullanılan benzersiz bir tanımlayıcıdır. Detay bilgi için LSN makalemizi okuyabilirsiniz.
Backupların Alınma saatleri ve 2 haftalık bir backup stratejimizi var sonra siliniyor.
Full backup: Saat 01.00 Diff backup: Saat 02.00 Log backup: Her 10 dk bir
Seneryo1’de şu anki tarih:13.05.2023 saat 15:30 ve bizim dönmek istediğimiz tarih 06.05.2023 saat 16:00 dönmek istiyoruz.
Yöntem1: 01.05.2023 full + 05.05.2023 Differential+log(en hızlı)
Yöntem2: 01.05.2023 full + 03.05.2023 Differential+log
Yöntem3: 01.05.2023 full +log
Bu 3 yöntemle de restore işlemi yapılabilir. Dikkat edilmesi gereken husus ne kadar hızlı restore yapacağıdır.
Seneryo2’de şu anki tarih:13.05.2023 saat 15:30 ve bizim dönmek istediğimiz tarih 12.05.2023 saat 01:00 dönmek istiyoruz.
Yöntem1: 08.05.2023full + 10.05.2023Differential+log(en hızlı)(dönmek istediğimiz saat 12.05.2023 Differential backuptan önce olduğu için alınmasına rağmen kullanamıyoruz)
Yöntem2: 08.05.2023 full +log
Yöntem3: 01.05.2023 full + 07.05.2023 Differential+log
Yöntem4: 01.05.2023 full + 05.05.2023 Differential+log
Yöntem5: 01.05.2023 full + 03.05.2023 Differential+log
Yöntem6: 01.05.2023 full +log
Aynı örnek için 11.05.2023 saat 11:00 log backup hasar oluştu kopma meydana geldi bu durum dönebileceğim en son nokta 11.05.2023 saat 11:00 olur.
SQL Server StandBy Restore İle İstenidiğiniz Zamana Geri Dönüş - VERITABANI.ORG 19 Ekim 2023
[…] https://www.veritabani.org/sql-server-backup-turleri-islemi-mantigi-ve-stratejisi/ […]