SQL Server Yedekleme Türleri

Share

SQL Server yedeklemeleri kendi içinde çok geniş bir konudur. Bu makalede kullanabileceğimiz yedekleme türlerine odaklanacağız ve neye ihtiyacımız olduğunu daha kolay anlayacağız. Böylelikle yedekleme ve geri yükleme stratejimize karar vermemize yardımcı olacaktır.

SQL Server’da bulunan en yaygın yedekleme türleri şunlardır:

  1. Tam ( Full )
  2. Diferansiyel ( Differential )
  3. İşlem günlüğü ( Transaction Log )
  4. Kuyruk Günlüğü yedekleme

Başka yedekleme türleri de vardır:

  1. Yalnızca kopya yedekleme ( Copy Backup )
  2. Dosya Yedeklemeler ( File Backups )
  3. Kısmi Yedeklemeler. ( Partial Backups )

Tam ( Full Backup ) Yedekleme

Tam bir yedekleme, adından da anlaşılacağı gibi, her şeyi yedekler. Her türlü yedeklemenin temelidir. Bu, veritabanının tüm nesnelerini yedekleyen eksiksiz bir kopyadır. Tablolar, prosedürler, işlevler, görünümler, dizinler vb. Tam bir yedeğe sahip olduğunuzda, veritabanını tam olarak aynı biçimde yedekleme zamanına geri yükleyebilirsiniz.

Tam yedekleme, işlem günlüğünün yanı sıra veritabanının da tam bir yedeğini oluşturur, böylece veritabanı kurtarılabilir. Bu, tüm içeriklerin tek bir yedekleme içerisinde bulunduğu için veritabanı geri yüklemesinin en basit durumudur.

Diğer yedekleme türlerinin herhangi biri çalıştırılmadan önce en az bir kez tam yedekleme yapılmalıdır; bu, diğer tüm yedekleme türlerinin temelidir.

SQL Management Studio ile Tam ( Full Backup ) yedekleme






T-SQL kullanarak tam veritabanı yedeklemesi nasıl oluşturulur

BACKUP DATABASE, tam veritabanı yedeklemesi oluşturmak için kullanılan komuttur. En az iki giriş parametresi gerektirir: veritabanı adı ve yedekleme cihazı.

Aşağıda, bir aygıtta depolanacak tam veritabanı yedeklemesine örnek verilmiştir:

BACKUP DATABASE [Tekno_Deneme_DB]To DISK=’D:\Backup\Tekno_Deneme_DB.BAK’WITH FORMAT,      MEDIANAME = ‘Native_SQLServerBackup’,      NAME = ‘Tekno_Deneme_DB_Backup’;
T-SQL Yedekleme

Bazen bazı durumlarda, sahip olduğumuz alanla sınırlı kalıyoruz. Büyük bir veritabanının tamamını yedeklemek isteseydik ne olurdu?  Ya da yedek dosyaları ağ üzerinden kopyalamamız gerekirse? Bu durumlarda yedeklemeyi daha küçük parçalara bölmek iyi bir fikir olabilir

BACKUP DATABASE Tekno_Deneme_DB TO
DISK = ‘D:\backup\Tekno_Deneme_DB_1.BAK’,
DISK = ‘D:\backup\Tekno_Deneme_DB_2.BAK’,
DISK = ‘D:\backup\Tekno_Deneme_DB_3.BAK’,
DISK = ‘D:\backup\Tekno_Deneme_DB_4.BAK’
WITH INIT, NAME = ‘FULL Tekno_Deneme_DB_backup’, STATS = 5
Full Yedeklemeyi birden fazla dosyaya bölerek yazma

Yedekleme dosyasının ayna kopyasını oluşturmak istiyorsanız:

BACKUP DATABASE Tekno_Deneme_DB
TO DISK = ‘D:\backup\Tekno_Deneme_DB_1.BAK’
MIRROR TO DISK = ‘D:\backup\Tekno_Deneme_DB_2.BAK’
WITH FORMAT
Yedekleme dosyasının ayna kopyasını oluşturma

Aşağıda da ayna kopyasını alıyoruz

BACKUP DATABASE Tekno_Deneme_DB
TO DISK = ‘D:\backup\Tekno_Deneme_DB_1.BAK’
MIRROR TO DISK = ‘D:\backup\Tekno_Deneme_DB_2.BAK’
MIRROR TO DISK = ‘D:\backup\Tekno_Deneme_DB_3.BAK’
MIRROR TO DISK = ‘D:\backup\Tekno_Deneme_DB_4.BAK’
WITH FORMAT
GO

Differential Backup (Diferansiyel Yedekleme)

Diferansiyel yedekleme, son tam yedeklemeden bu yana değiştirilen verilerin yedeklenmesini sağlar.

Artımlı Yedekleme ve Diferansiyel Yedekleme Arasındaki Fark

Artımlı yedekleme ve diferansiyel yedekleme arasında karışıklıklar yapılabiliyor. Kısaca, diferansiyel yedekleme son tam yedeklemeden bu yana değiştirilen tüm verileri içerirken, Artımlı yedekleme önceki yedeklemeden bu yana değiştirilen tüm verileri içerir.

Diferansiyel Yedekleme – Örnek: Pazartesi günü tam yedekleme yaptık ve haftanın geri kalanında diferansiyel yedekleme yaptık, Salı günkü yedekleme, Pazartesi günkü tam yedeklemeden bu yana yapılan değişiklikler olacaktır. Çarşamba günkü yedekleme, Pazartesi’den bu yana değişen verileri içerecektir.

Diferansiyel yedekleme, artımlı yedekleme ile karşılaştırıldığında daha kısa geri yükleme süresi sağlar, ancak veri boyutu artarsa geri yükleme süresi değişebilir.

Bir diferansiyel yedekleme her şeyi yedeklemediğinden, yedekleme genellikle tam bir yedeklemeden daha hızlı çalışır. Diferansiyel yedeklemelerin boyutu arttıkça geri yüklemek için gereken süreyi önemli ölçüde artırabilir. Bu nedenle, veriler için yeni bir diferansiyel yedek oluşturmak için belirli aralıklarla yeni bir tam yedekleme almanız önerilir .

Diferansiyel yedeklemeler depolama alanından ve yedekleme zamanından tasarruf sağlar. Ancak, veriler zaman içinde değiştikçe, diferansiyel yedekleme boyutu da artar. Bir diferansiyel yedeklemenin yaşı ne kadar uzunsa ve boyutu o kadar büyük olur ve belirli bir zamanda tam yedeklemenin boyutuna ulaşabilir. Büyük bir diferansiyel yedekleme, son diferansiyel yedeklemeyi geri yüklemeden önce tam yedeklemenin geri yüklenmesini gerektirdiğinden, daha hızlı ve daha küçük bir yedeklemenin avantajlarını kaybeder. Genellikle, en son tam yedeklemeyi ve ardından bu tam yedeklemeyi temel alan en son diferansiyel yedeklemeyi geri yükleriz.

Artımlı Yedekleme ( Incremental Backup )

Artımlı yedekleme , yalnızca önceki yedeklemeden sonra oluşturulan verileri yükleyen bir yedekleme türüdür Başka bir deyişle, yalnızca yeni ve güncellenmiş dosyaları yedek depolama alanına yedeklersiniz. Artımlı yedekleme, günümüzde en popüler yedekleme türüdür.


Artımlı Blok Düzeyinde Yedekleme

Sürekli değişen dosyalarınız olduğunu düşünelim. Klasik artımlı yedeklemede, bu dosyaları tekrar tekrar yedekleyeceksiniz. Ancak, bir dosyanın yalnızca değişen bölümlerini tanımlamanın ve yüklemenin bir yolu vardır . Bu tür artımlı yedekleme genellikle artımlı blok düzeyinde yedekleme olarak adlandırılır .

  • Blok düzeyi etkinleştirilmiş artımlı yedekleme, kaynak tüketimi açısından tüm yedeklemeler arasında en verimli olanıdır.
  • Blok düzeyinde yedekleme olmadan artımlı yedekleme, büyük ve sürekli değişen dosyalarda etkili değildir. Her seferinde tüm dosyaları yeniden yedekler ve tam yedekleme ile aynı rahatsızlıklara neden olur.
  • Artımlı blok düzeyinde bir yedeklemeden veri kurtarma nispeten yavaştır. Yedekleme yazılımı, ilk tam yedekleme dahil olmak üzere sırayla her bloğu kontrol etmelidir. Bundan sonra yazılım dosyayı birleştirir ve indirir.   
  • Artan blok düzeyi değişikliklerinden herhangi biri kaybolursa, tüm yedeklemeyi kaybedersiniz. Bunun nedeni yedeklemenin mimarisidir – bir sonraki her yedekleme bir öncekinde yapılan değişikliklere dayanır. Bu nedenle, yeni bir yedekleme zinciri başlatmak için zaman zaman tam bir yedekleme çalıştırmanız önerilir.

İşlem Günlüğü Yedekleme ( Transaction Log Backup )

İşlem Günlüğü yedeklemesi sayesinde, herhangi bir felaket durumunda veritabanı için nokta kurtarma gerçekleştirilebilir. İş kaybını en aza indirmek ve işlem günlüğünü kısaltmak için işlem günlüğü yedeklemelerinin düzenli aralıklarla gerçekleştirilmesi önemle tavsiye edilir.

Log Backup’ların restore edilebilmesi için ilk olarak bir Full Backup’ın restore edilmesi gerekmektedir.

Restore işleminde ilk olarak Full Backup’ı restore edip daha sonra Log Backup’ı restore etmek gerekir. Eğer birden fazla Log Backup var ise istediğimiz zamana gelene kadar bütün Log Backup’ları sırası ile restore etmek gerekir.


Name kısmına uygun bir isim veriyoruz.


Yedeklemenin zamanını belirtiyoruz
Yedekleme tipini belirtiyoruz

Yedeklemenin yapılacağı VT’leri seçiyoruz
Son olarak yaptığımız ayarları tamamlıyoruz.
(Visited 1.276 times, 1 visits today)