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
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
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
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
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
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
Resim–6
Yedek işlemi sonucunda oluşan SQL komutu Resim–7 de yer almakta.
Resim–7
Almış olduğumuz sistemuzmani veritabanının yedeği Resim-8’de görülmektedir.
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
Resim–9
Daha önce alınmış yedekler “Select the backup sets to restore” kısmına gelmektedir. Resim–10
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
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
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
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.
Resim–14
Yedekten geri dönme (restore) işlemi sonucunda oluşan SQL komutu Resim–15 de yer almakta.
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
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
Resim–17
Job(görev) adımları kısmında edit butonuna basarak zamanlama ve diğer adımları yapabiliriz. Resim–18
Resim–18
Resim-19’da Command (komut) kısmında yedeği alınacak veritabanı ve yedeğin nereye alınacağı görülmekte.
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
Resim–20
Oluşturulan Job ,SQL Server Agent altında Job klasöründe görülebilir.Resim-21
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
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
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