;?>

Feed Rss

SQL Server 2005 Backup and Restore

12.25.2006, Makale, SQL Server, by , .
Okuma Süresi: 5 dakika

SQL Server 2005 üzerinde çalışan veritabanlarının yedeklerinin (backup) nasıl alınacağı, alınan yedeklerden nasıl geri dönüleceği (restore) ve otomatik yedekleme işlemi için Job’ların nasıl oluşturulacağı hakkında detaylı bilgiyi SQL Server 2005 Backup & Restore makalesinde bulabilirsiniz.

Yedekleme ve kurtarma planı yapmak, bunu uygulanır hale getirmek sistem yöneticilerinin işlerinin en önemli parçalarından birini oluşturmaktadır. Veritabanlarının yedeğinin alınması iş yerinin ve sistem yöneticisinin geleceği açısından bir sigorta görevini görür. Bilgiler hiç beklenmedik bir zamanda silinebilir, bozulabilir veya doğal felaketler sonucunda ortadan tamamıyla kaybolabilir. Sistem yöneticisi olarak veritabanlarını belirli zaman aralıklarında yedeklemek ve yedeklerin güvenilir bir yerde saklamak çok önemlidir. Yedekleme yapmadan önce bu iş için prosedürler oluşturmanız tavsiye edilir.

SQL Server 2005 üzerinde çalışan veritabanlarının yedeklemesini yapabilmek için SQL Server Management Studio araçı kullanılır. Yedeği alınacak veritabanını seçmek için Databeses klasörü genişletilir, veritabanının üzerindeki iken mouse’ın sağ tuşuna basılır ve Taks ‘den Backup seçilir. Resim–1

image001

Resim–1

Veritabanı yedeği varsayılanda backup tipi olarak Full alınacak, ayrıca oluşacak yedek yine varsayılanda Program Files\ Microsoft SQL Server\MSSQL.1\MSSQL\Backup klasörünün altında saklanacaktır. Buradaki değerler değiştirilebilir. Veritabanı yedeğini ismi, description (tanımı) istenilen biçimde doldurulabilir. Alıcağımız yedek disk üzerinde olacağından varsayılan yerde saklamak istemediğimizden belirtilen yeri Remove ile kaldırıp Add tuşuna basarak kendi belirlediğimiz yeri seçebilir. Resim–2

image002

Resim–2

Alınacak yedeği işletim sisteminin bulunduğu partition üzerinde tutmak hem performansı azaltacak hemde işletim sisteminin çökmesi durumunda çok büyük sorunlar çıkaracaktır. Zaten doğru olan alınan yedeklerin hiçbir zaman o Server üzerindeki diskte bırakılmaması hatta o Server’ın bulunduğu lokasyonda dahi tutulmamasıdır. Yedekler birden fazla kopya çıkarılarak gerekli etiketleme işlemleri yapılarak, yedeğin çalışır olduğu kontrol edildikten sonra farklı bir yerde korumalı kasalarda saklanmasıdır. Bizde ilk olarak alacağımız yedeği Serverımız üzerindeki farklı bir harddisk’de saklayarak yedek alma işlemine devam ediyoruz. Resim–3

image003

Resim-3

Veriyi var olan bir yedekleme kümesine eklemek istiyorsak “Append to the existing backup set” radio butonunu seçeriz. Yerden tasarruf etmek isteniyorsa “Overwrite all existing backup sets” seçilir. Böylelikle alınacak veri daha önceden oluşmuşların üzerine yazılacaktır. Resim–4

image004

Resim-4

Yapılacak yedekleme işleminin SQL komutuyla nasıl oluştuğunun görülmesi isteniyorsa Script tıklanır ve altında yer “Script Action to New Query Window” seçilir. Böylelikle yedekleme işlemi tamamlandıktan sonra bizim görebilmemiz için bir SQL komutu oluşacaktır. Resim–5

image005

Resim–5

Yedekleme yerimiz, yedek tipimiz ve script ayarımız yapıldıktan sonra ok tuşuna basarak yedeklemenin tamamlanması sağlanılır. Resim–6

image006

Resim–6

Yedek işlemi sonucunda oluşan SQL komutu Resim–7 de yer almakta.

image007

Resim–7

Almış olduğumuz sistemuzmani veritabanının yedeği Resim-8’de görülmektedir.

image008

 
 
 

Resim–8

Almış olduğumuz veritabanının yedeğinden herhangi bir sorundan dolayı geri dönmemiz gerekirse bu seferde restore işlemini gerçekleştirmemiz gerekmektedir.Bunun için yapılması gerekenler ise şunlardır. Yedekten geri dönülecek (restore) veritabanını seçmek için Databeses klasörü genişletilir, veritabanının üzerindeki iken mouse’ın sağ tuşuna basılır ve Taks ‘den Restore seçilir ve çıkan alandan Database tıklanır. Resim–9

image009

Resim–9

Daha önce alınmış yedekler “Select the backup sets to restore” kısmına gelmektedir. Resim–10

image010

Resim–10

Eğer farklı lokasyonada bir yedek almış ve o yedeği yüklemek isteniyorsa From device radio butonu tıklanır ve yedeğin yeri bulunarak yedekten geri dönme işlemine devam edilir. Resim–11

image011

Resim–11

Restore options’tan gerekli ayarlamalar yapılır.Burada dikkat edilmesi gereken kısım Original file name ve Restore As kısmıdır.Daha önce almış olduğunuz yedeğin ismi farklı yazdığınızda hata alabilirsiniz.Biz almış olduğumuz yedeği var olan veritabanının üzerine yazacağımızı işaretleyerek devam ediyoruz.Resim–12

image012

Resim–12

Backup kısmında yaptığımız gibi yedekten geri dönerken yapılan işlemlerin SQL komutu ile nasıl olduğunu merak ediyor isek “Script Action to New Query Window” seçilir. Resim–13

image013

Resim–13

Yedekleme işleminin tamamlandığını gösteren uyarı Resim-14’de yer almakta. Böylelikle daha önce almış olduğumuz veritabanı yedeğinden dönmüş olduk.

image014

Resim–14

Yedekten geri dönme (restore) işlemi sonucunda oluşan SQL komutu Resim–15 de yer almakta.

image015

Resim–15

Yedekleme işlemi gerçek anlamda şirketin geleceği için büyük bir önem taşımakta. Sistem yöneticileri olarak yedekleme işleminin istediğimiz zaman aralıklarında otomatik olarak gerçekleşmesini sağlayabiliriz. Bunun için yapılması gereken işlemler ise aşağıda yer almakta. Yine yedeğini almak istediğimiz veritabanının üzerine gelerek mouse’ ın sağ tuşuna basarız. Çıkan kısa yol menüsünden Backup seçilir. Açılan backup menüsünde yer alan Script tıklanır ve en aşağıda yer alan “Script Action to Job” seçilir. Böylelikle otomatik yedek almak için bir Job (görev) tanımlamış oluruz. Resim–16

image016

Resim–16

Otomatik yedeği alınacak veritabanının ismi, açıklaması yedeği kimin alacağı (default’ta administrator veya sa kullanıcısıdır, istenirse yedek için backup operator tanımlanabilir) bilgiler girilir ve ok butonuna basarak devam edilir. Resim–17

image017

Resim–17

Job(görev) adımları kısmında edit butonuna basarak zamanlama ve diğer adımları yapabiliriz. Resim–18

image018

Resim–18

Resim-19’da Command (komut) kısmında yedeği alınacak veritabanı ve yedeğin nereye alınacağı görülmekte.

image019

Resim–19

Oluşturulan jobun ne zaman çalışacağını yani yedeklemenin otomatik olarak hangi zaman aralıklarında yapılacağını belirlemek için New Job Schedule kullanırız.

Job’a isim vermek gerekir aynı zaman Schedule type belirtilmelidir. Ben burada daily ismini ve yedekleme tipininde tekrarlı (recurring) olmasını seçiyorum. Daha sonra ne zaman yedekleme işleminin hangi periyotlarla gerçekleşeceği belirtilmelidir. Günlük (daily) seçimini yapıyorum, günde kaç defa tekrarlanacağını, yedeğin alınmaya başlayacağı saati belirtiyorum. Burada sistem performansını düşünerek mesai saati dışında bir saati seçiyorum. Artık hergün saat 22:00’da sistemuzmani veritabanın yedeği, E:\Backup klasörünün altında oluşturulacak. Resim–20

image020

Resim–20

Oluşturulan Job ,SQL Server Agent altında Job klasöründe görülebilir.Resim-21

image021

Resim–21

Yapılan Jobların başarılımı veya başarısızmı olduğu görülmek isteniyorsa Job Activity Monitor kullanılabilir. Ayrıca yapılan Joblar sonucunda sistem yöneticisine mail gelmesi isteniyorsa gerekli ayarlamalar yapılarak bu özellikte sağlanabilir. Bu ayarlamaların nasıl yapıldığını SQL Mail ve SQL Mail Agent’ı Yapılandırmak makalesinde bulabilirsiniz http://www.sistemuzmani.com/Articles/Details.aspx?aId=1000000174

Oluşturmuş olduğumuz Job yedeği başarıyla aldığını göstermekte. Resim–22

image022

Resim–22

Serverımız üzerindeki Backup klasörünün altında sistemuzmanı veritabanı yedeğinin otomatik olarak oluştuğu görülmekte. Resim–23

image023

Resim–23

İyi bir yedekleme planı, bu planın gerçekten uygulanması, alınan yedeklerin başka bir lokasyonda dış etkenlere karşı iyi bir şekilde korunmuş ortamlarda saklanması çok önemlidir. Şirketler bilgilerini kaybettiklerinde sadece paralarını değil aynı zamanda itibarlarını da kaybetmiş olurlar. Bu yüzden sistem yöneticileri olarak yedek alma işleminin kesinlikle yapılmasını sağlamamız gerekmektedir.

Bir Sonraki Makalede Görüşmek Üzere…

Ka®a

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir