Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

SQL SERVER 2017 BACKUP-RESTORE İŞLEMİ

1 – Değişik Veritabanı Recovery Tipleri:

Backup alınması detaylarına girmeden önce veritabanının restore tipi bilinmelidir. Bunu öğrenmek için "SQL Server Management Studio" üzerinde veritabanı seçilerek "properties"e bakılmalıdır.


Resim 1


"Options" üzerinde "Recovery" çeşidi görülebilir. (Resim 2)

Anchorpage2page2Resim 2

Üç çeşit recovery modeli bulunur:

  • Simple Recovery Model: Bu modelde transaction log dosyasını kaydedilemez. Küçük veritabanları ve çoğunlukla yalnızca sorgulanan veritabanları için kullanılır. Onaylanan "transaction" kayıtları veritabanına yazılır yazılmaz "transaction log" dosyadan silinir. Bu düzenleme veritabanı sorunlarının giderilmesi için daha sonra "transaction log" yedeğinin alınmasına olanak sağlar. (Büyük veya ticari veritabanı sistemleri için kullanılmamalıdır).
  • Full Recovery Model: Bu modelde SQL Server, "transaction log" tutar ve gerektiğinde verilerin veritabanı ve "transaction log" dosyalarından birlikte elde edilerek dakika bazında kurtarılmasını sağlar.
  • Bulk- Logged Model: "Full recovery model" özelliklerini içerir. Ayrıca
    Ayrıca  "SELECT INTO" gibi "bulk load" işlemleri için "transaction log" dosyasında kayıt tutulmamasına dolayısıyla daha az yer kaplamasına neden olur. Anchorpage3page3


Değişik Backup Tipleri:

Image Modified

Resim 3

Üç çeşit Backup alma yöntemi mevcuttur:

  • Full Backup: Bir veritabanının tamamı "backup file"ye eklenir. Eğer "init" parametresi kullanılmışsa "device" içindeki "file" üzerine yazılır. "Noinit" parametresi kullanılmışsa "backup file" içine eklenir ve bu durumda aynı "device" içerisinde "complete backup" içeren birçok dosya bulunur. "Init" parametresiyle "complete backup" alınmışsa device içinde tek bir "backup file" olur ve veritabanı büyüdükçe onun da boyu artar. Restore işlemi yapılacağı zaman, eğer "noinit" parametresi ile alınan "complete backup"ları varsa, en son alınan "backup file" açılarak son ana geri dönülebilir.

Full Backup işleminin kötü tarafı, veritabanı büyüdükçe yedekleme zamanının da artmasıdır. Bir de özellikle "noinit" parametresi ile kullanılıyorsa (öndeğer olarak "noinit"tir) "backup device" disk üzerinde çok fazla yer kaplamaya Anchorpage4page4 başlar. 


"Enterprise Manager"in "Management" bölümünden "backup device"ye bakıldığında durum daha rahat görülür. Aşağıda ilk resimde "init" parametresi kullanılarak alınan yedekte "backup device" içinde tek "backup file" görülmekte. Diğerinde ise "noinit" parametresi kullanılarak alınan bir sonraki yedeğin ikinci bir "backup file" olarak "backup device"ye eklenmiştir.

  • Differential Backup: "Complete backup"un yukarıda anlatılan sakıncalarından kurtulmak için "differential backup" kullanılabilir. "Differential backup"ta uygulanan sistem, sadece veritabanında oluşan değişikliklerin yedeğinin alınmasıdır. Yani "differential backup" alındığında son "complete backup"tan sonraki değişiklikler alınır. Tabii bunun için öncelikle veritabanının "complete backup"nın alınması gerekir. Bundan sonra alınan differential backup ile veritabanında değişen kısımlar "complete backup"a eklenir. Burada dikkat edilmesi gereken önemli bir durum vardır. Eğer tek "backup device" kullanılıyorsa ve sürekli "differential backup" alınıyorsa, "init" parametresini kullanmamak gerekir. "Init" parametresi kullanılırsa mevcut "backup device" içindeki "backup file"ler silinirler. Böyle olunca da yeni alınan "differential backup" o zamana kadar alınan yedekleme dosyalarının üzerine yazılmış olur. Böyle bir durumdan geri dönülmesi olanaksızdır.
  • Transaction Log Backup: Bir başka yedekleme yöntemi de "transaction log" yedeğidir. "transaction log backup" ta yapılması gerek şey önce full veritabanı yedeğinin alınmasıdır.


"Transaction log"lar uygun bir veritabanı yedeği olmaksızın restore edilemez.
Anchor
page5page5SQL SERVER 2017 'de FULL BACKUP

1 - SQL Server 2017'de "Databases" bölümüne gelip "All Task" ile "Back up" seçilir.( Resim 4 )



Resim 4


Resim 5
Anchorpage6
page62 - Eğer yedek dosyalarının tutulacağı yer olarak listede hiçbir konum belirtilmemiş ise "Add" butonuna basıp çıkan pencereden alınacak yedek dosyasının nerede konumlanacağı belirtilebilir. ( Resim 5 )
Anchorpage7
page7
Resim 6
Anchorpage8
page83 – "Options" bölümü kontrol edilir. (Resim 7)


Resim 8

4- - OK butonuna basıldığında yedek alma işlemi başlar. (Resim 8)
Anchor


page9page9FULL BACKUP KULLANILARAK RESTORE İŞLEMEDEN YAPILMASI

1-Microsoft SQL Server Management Studio üzerinde "Databases" bölümüne gelip sağ klik ile "Restore Database" seçilir. (Resim 10)



Resim 10

...

2-"Restore" edilmek istenen veritabanının ismi yazılır ve "From device" bölümüne geçilir. (Halen çalışmakta olan veritabanı üzerine "restore" yapmak için "To Database" bölümü seçilir ve kaynak veritabanı olarak "From Database" bölümünden "restore" edilmek istenen veritabanı seçilir. Ardından "Options" bölümünden "Overwrite the existing database" seçilir. (Resim 11)



Anchor
page10page10Resim 11

...

3-"From Device" bölümünde veritabanı dosyasının yeri işaret edilmelidir. Eğer dosyada ise "Add" butonuna basılır. (Resim 12)


Anchorpage11page11
Resim 12

4- "Add" butonuna bastıktan sonra dosyanın yeri bulunur. "Files of type" kataloğundan "All files(star)(*)" seçilmelidir. (Resim 13)

Anchorpage12page12(Resim 13)

...

5-Eğer "Full" veya "Differential" yedek alınıyorsa; "To a point in time:" kullanılan veritabanında belirlenen bir tarih ve zaman aralığında alınan yedek dosyaların görülmesini sağlar. Bunu yapması için; son alınan yedek dosyasının alınma tarihinden daha önce bir tarih ve saat aralığı belirlenmelidir. (Resim 14)

Anchorpage13page13

Resim 14

6-"Options" Bölümünde açıklamalar doğrultusunda ayarlar yapılır. Burada önemli olan nokta "Restore As" Bölümündeki path'ın gerçekten var olmasıdır. (Resim 15)


Anchorpage14page14

Resim 15

...


7-Son olarak "Select the backup sets to restore" bölümünden restore edilmek istenen dosya seçilir ve "OK" butonuna basılır. (Resim 16)

Anchorpage15page15Resim 16 Anchorpage16page16



SQL SERVER 2005'de DIFFERENTIAL BACKUP

1 -SQL Server 2005'te " Database" bölümüne gelip "All Task" i le "Back up" seçilir. ( Resim 17 )


Resim 17
Anchorpage17
page172- "Destination" bölümü boş ise "Add" ile backup dosyasının alınacağı yer kararlaştırılır. (Resim 18)



Resim 18

3 -"Options" Bölümünden yedek dosyası hakkında istenilen ayarlar uygulanır ve "OK" ile yedek alınır. Yedek dosyasının doğruluğunun kontrol edilmesi için "Verify backup when finished" kesinlikle işaretlenmelidir. (Resim 19)

Anchorpage18page18 (Resim 19) Anchor




page19page19DIFFERENTIAL BACKUP KULLANILARAK RESTORE İŞLEMİNİN YAPILMASI

...

1-"Databases "Bölümün gelinir sağ tuş ile "Restore Database" seçilir. (Resim 20)



Resim 20

...

2-Veritabanı ismi yazılır, From device işaretlenerek Backup dosyasındaki lokasyon "Add" ile bulunur. (Resim 21)


Anchorpage20page20Resim 21

...


3-Backup dosyasının konumu seçildikten sonra var olan restore edilebilecek yedek setleri ve içerikleri ile ilgili bilgiler gelir. Burada önemli olan nokta eğer aynı isimde var olan veritabanı yok veya veritabanı '0' dan restore ediliyorsa önceden alınmış bir tane "Full backup" ve en son alınmış (yada restore edilmek istenen zaman dilimine uyan) backup dosyası seçilir. Eğer hali hazırda aynı isimli veritabanı dosyamız var ise sadece "Differential backup" dosyası seçilir ve options bölümünden "Overwrite the existing database" seçilir ve "OK" e basılır. (Resim 22)


Eğer "Full" veya "Differential" yedek alınıyorsa; "To a point in time :" kullanılan veritabanında belirlenen bir tarih ve zaman aralığında alınan yedek dosyalarının görülmesini sağlar. Bunu yapması için; son alınan yedek dosyasının alınma tarihinden daha önce bir tarih ve saat aralığı belirlenmelidir. (Resim 14)

Anchorpage21page21Resim 22
Anchorpage22


page22SQL SERVER TRASACTION LOG BACKUP

1 - SQL Server 2005 ' de " Databases" bölümüne gelip " All Task" ile "Back up" seçilir; ( Resim 22 )


Resim 22

2 -"Options" Bölümünden yedek dosyası hakkında istenilen ayarlar uygulanır ve "OK" e basılarak Backup alınır. Backup dosyasının doğruluğunun kontrol edilmesi için "Verify backup when finished" kesinlikle işaretlenmelidir. (Resim 23)

Anchorpage23page23Resim 23
Anchorpage24

page24TRANSACTION LOG BACKUP KULLANARAK RESTORE ISLEMININ YAPILMASI

1 -"Transaction log" yedeklerini yeniden kurmadan önce, ilk olarak "full database backup" açılmalı. (Resim 24). Çoklu "transaction loglar" olduğu zaman, en sondaki hariç bütün "transaction loglar" için "NORECOVERY" seçeneği belirtilir. (Resim 25). SQL Server, son transaction log restore edilene kadar recovery işlemini erteler.


Resim 24


Resim 25
Anchorpage25
page25 3 – 3-Son "Transaction Log" yedeği restore edilirken "RESTORE WITH RECOVERY" seçeneği belirtilmelidir. (Resim 26 a, 26 b)


Resim 26 a


Resim 26 b
Anchorpage26page26 2 –
4- "Transaction log" yedeği restore edilirken belirli bir zaman noktasına dönülebilir. Örneğin bozuk bir güncelleme saat 11:00'de oluşursa, 10:59 süresince
"transaction log" yedeğinden değişiklikler geri yüklenir ve bu noktadan sonra oluşan değişiklikler uygulanmaz. (Resim 27)

Resim 27

MAINTENANCE PLAN (BAKIM PLANI) ile BACKUP
Veritabanını denetlemek için, elle ya da otomatik olarak farklı "task"ları yerine getirmek gerekir.

Bu "task"lar database "maintenance plan"ı oluşturur. "Task"lar aşağıdaki bileşenleri içerir:

  • Veritabanı yedekleme görevigörev
  • Veritabanı bütünlüğü kontrolü görevi
  • SQL Server Agent görevlerini uygulama görevi

...


Veritabanı yedekleme Görevi:

1-Microsoft SQL Server Management Studio programı çalıştırılır ve "Management" bölümü üzerinde sağ tuş ile "New Maintenance Plan..." çalıştırılır. (Resim 28)


Resim 28

2 -Oluşan "Maintenance plan" isimlendirilir. ( Resim 29 )

Anchorpage28page28
Resim 29

...

3-"Maintenance plan" oluştuktan sonra "Toolbox" içerisindeki "Back Up Database Task" bölümü sürüklenerek ana bölüme yapıştırılır. ( Resim 30 )


Resim 30

4 -"Back Up Database Task" üzerinde sağ tuşa basılarak "Edit" seçilir. ( Resim 28 )

Anchorpage29page29Resim 31

...

4-Çıkan "Back Up Database Task" penceresinde bulunan "databases" bölümünden yedekleme işleminde kullanılacak veritabanı seçilir ve ardından " OK"ye basılır. ( Resim 32 )


Resim 32

6 – 5-Sonrasında çıkan ekran üzerinde yedek dosyasının nereye alınacağı, yedek çeşidi gibi bilgiler girilir ve "Verify Backup Integrity" seçili durumda olmalıdır. ( Resim 33 )

Anchorpage30page30Resim 33

7 – 6-Yedek dosyasının yerini belirlemek için "Back up databases across one or more files: " bölümündeki Add" butonuna basılır ve dosyanın fiziksel adresi yazılır. ( Resim 34 )
Anchorpage31
page31
Resim 34
8 –
7-Son olarak belirli zaman aralıklarında otomatik olarak çalışmasını ayarlamak için " Shedule" bölümünde bulunan butona basıyoruz. ( Resim 35 )


Resim 35

...


8-Resim 36 'da bulunan direktifler doğrultusunda zaman planı yapılır ve "OK"ye basılır.

Anchorpage32page32Resim 36

...

9-Bakım planı kapatıldığında çıkacak "Save changes to the following i tems?" sorusuna "Yes" cevabı verilir. Bakım planı üzerindeki değişiklikler kaydedilmiş olur. ( Resim 37 )

Anchorpage33page33
Resim 37