Hakan Uzuner - Microsoft SQL Server 2005 üzerinde Otomatik Yedekleme Kuralı Nasıl Oluşturulur
Tarih 21 Şubat 2008	yazar Mesut SARIYAR içinde SQL Server
How to Create a Maintenance Plan for Automatic Backup on Microsoft SQL Server 2005
Daha önceki makalemizde Microsoft SQL Server 2005 üzerinde bulunan bir database’in manuel olarak nasıl yedekleneceğinden ve alınan yedekten nasıl geri dönüleceğinden söz etmiştik. Bu makalemizde ise manuel yedekleme yerine, bu yedekleme işleminin nasıl otomatik olarak yapılacağından bahsedeceğiz.
Otomatik yedekleme sayesinde dilediğiniz zaman dilimlerinde dilediğiniz veri tabanlarının yedeklerinizi alabilir, alınacak yedeklerin yerel disklere veya tape backup ünitelerine yazılmasını sağlayabilirsiniz.
Maintenance Plans (Bakım Planları) daha iyi bir database performansı yakalamak için, sistem felaketlerine karşı düzenli olarak backup alabilmek için kullanılabilir.
Maintenance Plan Wizard bunlardan farklı olarak biraz daha esneklik sağlar.
Maintenance Plans ile kural oluşuturabilmek veya daha önceden oluşturulan bir kuralı yönetebilmek için Sysadmin üyesi olmak gerekir.
Güvenliği güçlendirmek adına SQL Server Authentication kurmuş iseniz Maintenance Plans görüntülenmeyecektir. Çünkü Maintenance Plans sadece Windows Authentication ve Mixed Mode desteklidir.
Maintanence Plans kullanılarak oluşturulan kuralların çalışabilmesi için SQL Server servisi ile beraber SQL Server Agent Servisinin de çalışıyor olması gerekmektedir.
SQL ve Yedekleme mantığı ile ilgili bilgiler daha önceki makalelerimizde anlatılmıştır, bu nedenle bu makalemizde bunlardan tekrar bahsetmeyeceğiz.
Makalede anlatılan işlemler Xp Pro SP2 üzerine yüklü olan Microsoft SQL Server 2005 with SP1 kullanılarak gerçekleştirilmiştir.
Bu bilgiler ışığında konumuza başlayabiliriz;
| Resim 1 |
Yukarıdaki yolu izleyerek SQL Server Management Studio yu açıyoruz.
| Resim 2 |
Server Types : Database Engine, Analysis Services, Reporting Services, SQL Server Mobile, or Integration Services tiplerinden uygun olanı seçilir.
Server Name: Instance name olarak girdiğiniz karakterlerdir, Standart olarak bilgisayar ismini alır, localhost veya “.” Olarak local oturum açabilir veya başka bir sql server a bağlanmak için instance name adını girebilirsiniz.
Authentication: İki tip authentication çeşidi vardır, Windows Authentication ve Sql Server authentication, uygun seçenek işaretlenir.
Standart ta herhangi bir değişiklik yapmanıza gerek yoktur, ancak var ise gerekli olan bilgileri seçerek Connect butonuna tıklayarak devam ediyoruz.
| Resim 3 |
Maintenance Plans (Bakım Planları) menüsünde; SQL Server ımız için tanımlamış olduğumuz rutin bakım planları yapılmaktadır, altında bir alt küme olmayışı henüz herhangi bir planlamanın olmadığının işaretidir. Menü üzerinde sağ tıklıyor ve New Maintenance Plan (Yeni Bakım Planı) menüsüne tıklıyoruz.
Maintenance Plan Wizard ile de aynı işlemleri yapabilirsiniz, ancak ben size detaylarıyla anlatma yolunu tercih ediyorum.
| Resim 4 |
Oluşturulacak Plan için Default olarak bu isim gelmektedir, ancak ileriki süreçte çok fazla planlanacak işler olabileceğinden dolayı bu planlara özet bir isim vermek en yerinde seçim olacaktır.
| Resim 5 |
Biz örneğimizi anlatırken Databases ağacı altında bulunan Master database ini kullanarak anlatacağız, yani alınacak olan otomatik yedek Master Database inin yedeği olacaktır, bu nedenle Name kısmında bu doğrultuda bir tanımlama yapıyoruz. OK butonu ile devam ediyoruz.
| Resim 6 |
SQL 2000 de alışık olduğumuız yüz artık yok, SQL 2005 ap ayrı bir görünüm ile karşımıza çıkmaktadır, biraz yabancılık çekecek olsanızda zamanla alışacaksınızdır. Yukarıdaki OK işleminden sonra Resim 6 da sağdaki kısımdan işlemimize devam edeceğiz. Description alanına bir açıklama girebilirsiniz, Plan için oluşturulacak olan zaman ve iş bilgisini Schedule butonuna tıklayarak tanımlayacağız.
Connections: Additional bir database a bağlantı sağlayabilir ve bu database için görev tanımlaması oluşturabilirsiniz.
Logging: Atadığınız görev ile ilgili logların tutulmasını sağlayabilir, hatta SMTP veya Mail Server kurulu ise mail olarak kendinize yollattırabilirsiniz.
| Resim 7 |
Bu pencerede oluşturulacak olan görev tanımlamasının hangi koşullarda, ne zaman, kaç defa ve ne zamana kadar çalıştırılacağının bilgilerini oluşturacağız.
Name: Plan a verdiğiniz isim baz alınarak otomatik olarak oluşturulur, dilerseniz değiştirebilirsiniz.
Recurring: Bu seçenek ile tanımlanan işin sizin belirlediğiniz standartlar çerçevesinden birden fazka çalıştırılabilmesini sağlamış olursunuz.
Start automatically when SQL Server Agent starts: SQL Server Agent servisi her start oluşunda bu görev yerine getirilsin anlamına gelir.
Start whenever the CPUs become idle: CPU ne zaman boş kalırsa; yani CPU nun yoğun olmadığı zamanlarda bu görev çalışsın anlamı taşır.
One Time: Belirlediğim standartlarda sadece bir kez bu görev çalışsın anlamına gelir.
Ben burada benim için en yararlı olduğunu düşündüğüm seçeneği Recurring olarak belirliyorum.
| Resim 8 |
Bu pencerede Görevin Günlük mü, Haftalık mı, yoksa Aylık olarak mı yapılacağını belirleyebilirsiniz.
Ben tercihimi Günlük olarak belirliyorum.
| Resim 9 |
Occurs once at: Burada belirlediğiniz zaman diliminde bu görev yerine getirilir.
Occurs every: Burada belirlediğiniz süre aralıklarında görev çalıştırılır, ben her iki dakikada bir bu görevin yerine getirilmesini belirledim, tabiki bu sadece makale için seçilmiş bir belirleme oldu, pratikte bu kadar küçük database ler ile çalışmayacağınızdan dolayı ve yoğunluk olacağından dolayı mâkul zaman dilimlerini belirleriz.
Starting at: Görevin çalıştırılmaya başlanabileceği zaman dilimidir
Ending at: Görevin çalıştırılabileceği son zaman dilimidir.
Yani Starting at ve Ending dışında kalan zaman dilimlerinde bu görev yerine getirilmeyecektir.
| Resim 10 |
Start date: Görevin hangi tarihten itibaren geçerli olacağının belirlendiği kısımdır.
End date: Görevin sona erdirileceği tarih olarak belirlenir.
No end date: Görevin bitiş tarihinin olmadığını belirleyebilirsiniz.
Bu penceredeki bilgileri girdikten sonra OK butonuna tıklayarak devam ediyoruz.
| Resim 11 |
Ana pencerenin sol alt kısmından devam edeceğiz;
Maintenance Plan Tasks Toolbox ını kullanarak görevler zinciri oluşturulabilir ancak bu makalemizin dışında bir konudur ve daha sonraki makalelerimde bu konulara da yer verilecektir.
Buraya kadar yaptığımız tüm işlemlerde Backup ve Yedekleme tabirlerini kullandık, ama aslına bakarsanız yaptığımız tüm işlemler sadece görev tanımlamasıyla ile ilgili olan ön hazırlık işlemleriydi, bu yaptığımız planlamanın hangi iş için yapılacağı bilgisini henüz belirleyeceğiz, bu işlem listesi Toolbox listesinde görülmektedir, ancak biz konumuz bağlamında Back up Database Task seçeneği ile devam edeceğiz.
| Resim 12 |
Back up Database Task satırına çift tıklanır.
| Resim 13|
Toolbox da bulunan satıra çift tıkladığınızda sağ üstte bulunan pencere içerisine gördüğünüz simge yerleşecektir.
Simge üzerine çift tıklanır ve aşağıdaki pencere görülür.
| Resim 14 |
Connection: Localde çalışan SQL Server dışındaki bir Additional SQL Server a authenticate bilgilerini girmek koşulu ile bağlanabilir ve bağladığınız bu SQL Server üzerindeki database lerin yedeklerin alınmasını sağlayabilirsiniz, New diyerek bağlantı bilgileri girilebilir.
Databases: Belirlenen görevin hangi databaseler için olacağını belirlersiniz.
All databases: Tüm database ler.
All system databases: master, msdb, model
All user databases: excluding master, model, msdb, tempdb
These databases: Sizin belirlediğiniz database ler.
| Resim 15 |
Sadece master database ini işaretliyor ve OK butonu ile devam ediyorum.
| Resim 16 |
Full: Database in tam yedeği alınır.
Diffrerential: Son alınan yedekten sonraki kısım yedek alınır ( Aradaki fark yedek alınır)
Yer sorunu yok ise her zaman Full yedek ile çalışmanızı tavsiye ederiz.
| Resim 17 |
Disk: Yedeğin disk üzerine alınacağını belirlenir.
Tape: Yedeğin Tape Backup Ünitesine alınacağı belirlenir.
Back up databases across one or more files: Yedeğin birden fazla disk veya tape backup ünitesine alınmasını sağlar. Güzel bir seçenektir. Aynı yedeği hem Disk1 e hem de Disk2 ye aynı anda aldırabilirsiniz!
Back up databsess across one or more files seçeneğini seçtiğinizde alınacak olan yedeklerin daha önce alınan yedeklerin üzerine mi yazılacağını (overwrite), yoksa üzerine ekleneceğini mi (append) belirlersiniz.
Create backup file for every database: Alınacak olan yer yedek için yeni bir backup file yaratılır, backup dosya sonuna tarih ve zaman bilgisi eklenir. (master_backup_200708191718.bak )
Create a sub-directory for each database: Her database için alt dizin oluşturulmasını sağlar.
Folder: Yedeğin alınacağı yer belirlenir.
Backup file extension: Alınacak olan yedeğin dosya uzantısını buradan belirleyebilirsiniz, standart kalmasını tavsiye ederim.
Verify backup integrity: Alınan yedeğin sağlamlığını kontrol eder.
Gerekli bilgiler işlendikten sonra OK butonu ile devam edilir.
| Resim 18 |
| Resim 19 |
Son olarak Yukarıda bulunan Save simgesine tıklanarak Görev Planı kaydedilir.
| Resim 20 |
Kayıt işleminden sonra Maintenance Plans altına bir planın eklendiği görülür.
| Resim 21 |
Kayıt işleminden tam 2 dakika sonra ilk görev yerine getirildi.
| Resim 22 |
İlk görevin ardından tam 2 dakika sonra ikinci görev yerine getirildi.
Görmüş olduğunuz gibi her iki yedekte full olarak alınmıştır ve dosya isimleri birbirinden farklıdır. Elimizde iki ayrı yedek bulunmaktadır.
Bir başka makalede görüşmek üzere, esen kalın.
SQL2005 üzerinde Yedeklem... »
Microsoft SQL Server 2005 üzerinde Otomatik Yedekleme Kuralı Nasıl Oluşturulur için yorumlar kapalı