Root > Documents > Veritabani Yönetim Sistemleri > Yedekleme (Backup) Yöntemleri ve Türleri
Cyber-Warrior.Org \ Doküman \ Veritabani Yönetim Sistemleri > Yedekleme (Backup) Yöntemleri ve Türleri
Madde
  Yazar : CwX
  Date : 26.11.2015 14:24:59
 
# Yedekleme (Backup) Yöntemleri ve Türleri
 

Yedekleme (Backup) Islemi Nasil Yapilir?

Yedekleme islemini birden fazla yöntemle yapmamiz mümkündür. Biz SQL Server Management Studio araciligi ile ve T-SQL araciligi ile nasil yapildigi üzerinde duracagiz.
Management Studio Araciligi ile Yedekleme (Backup) Islemi

Yedekleme islemlerini SQL Server Management Studio arayüzü araciligi ile kolaylikla yapabiliriz.

SQL Server 2005’le beraber gelen yedekleme türlerine bakalim. Bunun için veritabanimizin üzerinde sag tus yaptiktan sonra gelen menüden sirasiyla Tasks->Backup’i seçelim.

Yedekleme islemimizin özelliklerini belirleyebilecegimiz bir pencere açilacaktir.

Source kisminda, hangi veritabanin yedegini almak istedigimizi belirtiyoruz. Backup Type kismina makalenin ilerleyen kisminda deginiyor olacagim.

Destination kisminda yedek dosyamizin yerini belirleyebiliriz. Destination kismindaki Add komut dügmesine basarak, yedek dosyalarimizi nereye yerlestirecegimizi belirleyelim.
 

Dosya yerini belirledikten sonra tamama (OK) basalim. Veritabani yedegini basarili bir sekilde aldigimiza dair bilgi mesaji verilecektir.

Bu sekilde, Management arayüzünü kullanarak yedekleme islemini gerçeklestirmis olduk.

T-SQL BACKUP Komutu ile Yedekleme (Backup) Islemi

Bütün yedekleme islemlerini SQL Server Management Studio araciligi ile yapilabilmektedir. Bunlarin yaninda, T-SQL komutlarini ile yedekleme islemlerini yapmayi ögrenmemiz bizim faydamiza olacaktir.

T-SQL komutu ile yedekleme isleminin yapabilmek için kullanilan komut: BACKUP komutudur. BACKUP komutu ile iki farkli çesit yedekleme islemi yapabiliriz.

BACKUP DATABASE: Veritabani yedegi alabilmek için kullandigimiz komuttur.

BACKUP LOG: Transaction log’larin yedeklerini almak için kullandigimiz komuttur.

Hem veritabani yedekleme komutunun (BACKUP DATABASE) hem de islem günlügü yedekleme komutunun (BACKUP LOG) kullanimi oldukça zor ve komplektir.

BACKUP DATABASE için kullanilan parametreler sunlardir:

* DIFFERENTIAL : fark yedekleme türü için kullanilan parametredir.
* PASSWORD : yedeklerin sifrelenmesi için kullanilan parametredir.
* CHECKSUM : veritabani sayfasini kontrol etmek için kullanilan parametredir.

BACKUP LOG için kullanilan parametreler sunlardir:

* TRUNCATE_ONLY : to truncate the inactive entries of the newspaper (vacuums, validated or cancelled).
* NO_TRUNCATE : to write all the operations of the newspaper and to leave it in the state without emptying it.

BACKUP DATABASE komutu için örnek uygulama su sekildedir:

BACKUP DATABASE Teknoritma
TO DISK = N’C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\TeknoritmaFullBackup.bak’
GO

BACKUP LOG komutu için örnek uygulama su sekildedir:

BACKUP LOG Teknoritma
TO DISK = N’C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\TeknoritmaFullBackup.log’
GO

BACKUP komutumuzu grafik ekrani üzerinde de uygulayabiliriz. Veritabanimiz üzerinde sag tus yaptiktan sonra gelen menüden sirasiyla, Tasks ->Properties basalim. Açilan ekranin üst tarafinda Script komut dügmesini görüyor olacagiz.
 

Komut satirindan yapabilecegimiz gibi bu bölümü kullanarak BACKUP islemimizi gerçeklestirebiliriz.

Yedekleme Türleri

Üç farkli yedekleme türü vardir:

* Full Backup : Bu yedekleme türü veritabanin tamaminin bir kopyasini almaktadir. Full Backup’in bir önemi diger yedekleme modellerini geri yüklemek için de bir baslangiç noktasi olmasindan kaynaklanmaktadir. Hangi geri yükleme modelini kullanmak istersek isteyelim, öncelikli olarak veritabanin bir kere Full Backup’i alinmasi gerekmektedir.

* Differential Backup : Sadece en son Full Backup yedeklemeden sonra degisen verilerimizi yedeklemek için kullanilmaktadir. Bu yedekleme türü Full Backup yedekleme türüne göre daha hizlidir. Bunun sebebi ise, yedekleme islemi sirasinda yalnizca veritabaninda meydana gelen degisikleri kaydetmektedir. Veritabaninin öncelikli olarak Full Backup’ini aldiktan sonra, geçen zaman içerisinde Differential Backup’ini alarak yedekleme islemini gerçeklestirebiliriz.

* Transaction Log Backup: Sadece islem günlügünün (transaction log) yedegini alir. En son Differential Backup yüklendikten sonra veritabanimizin son halini elde etmek için Transaction Log Backup yedekleme türünü kullanabiliriz.

Simdi yedekleme stratejilerini inceleyelim.

Yedekleme (Backup) Stratejini Düsünme

Yedekleme yöntemini belirlerken kullanicilarin ve veritabanlarinin neye ihtiyaçlari oldugu göz önünde tutmak gerekir. Su kriterleri göz önünde bulundurarak yedekleme adimlarimizi belirleyebiliriz:

* Önem: Veritabaninizin önem derecesini kontrol edin. Müsteriler için mi kurulu olan bir sunucu olduguna, veya yazilim gelistiriciler için kurulumu bir sunucu olduguna dikkat ederek önem derecesini belirleyebilirsiniz.

* Siklik: Veritabani hangi sikliklarla düzenleniyor?
* Kullanim: Veritabani kullanim sikligi nedir? Veritabani en az hangi zaman dilimlerinde kullanilir? Projemizin kullanimina göre farklilik gösterir bu zaman dilimi ancak, genel olarak veritabanlarina erisim gece vakitlerinde erisim diger zaman dilimlerine nazaran daha az olmaktadir. Tabi ki, kendi veritabanimizin kullanim zaman dilimine göre, kullaniminin az oldugu zaman diliminde yedekleme islemleri adimlarini çalistirabiliriz.
* Geri Yükleme: Verilerimizin degisme sikligina ve arzettigi öneme göre, sik araliklarla mi yedekleme islemi yapmak gerekiyor yoksa günlük yedekleme islemi yeterli oluyor mu?
* Tür: Veritabani sistem veritabani mi yoksa normal kullanicinin olusturdugu veritabani mi?

Bu sorulara cevap verirken, yedekleme yöntemimizi cevapliyor olmus olacagiz aslinda.

Firmamizda kullandigimiz projenin önemine göre farkli araliklarda verilerimizi yedeklemeyebiliriz. Uygulayabilecegimiz belirli stratejiler su sekildedir:

* Dakikalar Seviyesinde Veri Yedekleme Plani:
       o Günlük olarak her gece Full Backup almak.
       o Günlük olarak gün ortasinda Differential Backup almak.
       o Çalisma zamani sirasinda her 10 dakika da bir Transaction Log Backup almak.

* Özel Veri Yedekleme Plani:
       o Günlük olarak her gece Full Backup almak.
       o Günlük olarak gün ortasinda Differential Backup almak.
       o Çalisma zamani sirasinda her 10 dakika da bir Transaction Log Backup almak.
       o Belirledigimiz bir adimi özel olarak isimlendirerek yedegini almak.

* Saat Seviyesinde Veri Yedekleme Plani:
       o Daily Full Backup at night.
       o Daily Differential backup at midday.
       o Transaction Log Backup on each 30 minutes

* Günlük Veri Yedekleme Plani:
       o Haftalik olarak Full Backup almak.
       o Günlük olarak her gece Daily Differential Backup almak.
       o Her 4 saatte bir Transaction Log Backup almak.

* Yalnizca Okuma Islemi Için Veri Yedekleme Plani:
       o Haftalik veya aylik olarak Full Backup almak.
       o Herbir degisiklikten sonra ellen Full Backup almak.

Sistem veritabanlarina farkli uygulanmasi gerekiyor. Sistem veritabanlarini su sekilde inceleyelim:

* Master :

       o Yüklemeden veya veritabani olusturma, güncelleme islemlerinden sonra Full Backup yedekleme gerçeklestirilebilir.
       o Haftalik olarak Full Backup yedekleme isleminin gerçeklestirilmesi iyi bir çözüm olabilir.
       o Bazen yalnizca master veritabaninin Full Backup’ini almak yeterli olabilir.

* Msdb :

       o Haftalik olarak Full Backup yedekleme islemi iyi bir çözüm olabilir.

* Model :

       o Yalnizca okunabilir bir veritabanidir.

* Tempdb :

       o Geçici özellige sahip veritabanidir. Sunucu baslatildiginda olusturulur, ve sunucu durduruldugunda silinir. Kayit edilmesine gerek yoktur.

Sonuç
Verilerimiz bizim için önemlidir. Bundan dolayi verilerimizin basina olumsuz, geri dönüsümsüz herhangi bir durum gelmeden önce, yedekleme planlamamizi yapmamiz gerekmektedir. Verilerimize erisilebilir durumdayken veri tabani bakimi stratejimizi belirlemeliyiz ki, sorun olusup da verilerimiz erisilemez hale geldiginde çok geç olmasin. 

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©