Eğer periyodik olarak bir serverın ya da databaselerin backupını almamız gerekiyorsa bunu otomatiğe bağlamak en iyisi olacaktır.
Bunun için SQL Serverda “maintenance plan” tam da ihtiyacımız olan seçenek.
Bu yazımda maintenance plan seçeneklerinden sadece yedekleme ve o yedeklemeleri belirli zamanlarda silmeyi göstereceğim.
Yine her zamanki gibi SSMS’de object explorerdan Management tabının
altında Maintenance Plans klasörüne sağ tıklıyoruz ve maintenance plan
wizard seçeneğini açıyoruz.
altında Maintenance Plans klasörüne sağ tıklıyoruz ve maintenance plan
wizard seçeneğini açıyoruz.
İlk ekranda direk next dedikten sonra. Planımıza isim vereceğimiz ve zamanını programlayabileceğimiz ekran gelmekte.
Eğer single schedule seçili olursa tek zamanlama programı ile tüm planı aynı anda çalıştırır. Ya da separete schedule seçilirse her görev için farklı zamanlama planları oluşturulabilir.
Ben genel bir program yapacağımdan direk Change butonuna tıklıyorum.
Görüldüğü gibi zamanlayıcımı hergün gece saat 02.00’da çalışacak şekilde ayarladım.
OK’ye tıklayıp next diyorum.
Burası önemli;
Burada planımızda hangi tasklerin çalışmasını istiyorsak onları seçiyoruz. Yazının başında da dediğim gibi bu yazımda sadece Full Backup ve onları silen taskleri ele alacağım.
Tekrar next diyoruz.
Bu ekranda görevlerin çalışma sırasını belirliyoruz. Bende görüldüğü gibi ilk olarak backup işlemi ardından temizleme işlemi çalışacak. Bu sıralama fazla sayıda task olduğunda kritik olabilir. Hiyerarşik olarak yapılmalı.
Bu ekranda hangi databaselerin nereye yedeğinin alınacağını ayarlıyoruz.
Ben all database seçerek serverdaki sistem ve kullanıcı dblerinin hepsinin yedeğini aldırıyorum. İhtiyaca göre sadece sistem yada belirli kullanıcı dbleri seçilebilir.
Biraz altında “backup set will expire” seçeneğinden yedeklerin ne kadar saklanması istediğinizi belirtiyorsunuz. Yalnız bu seçenek backupları silmek için değil sadece expire olarak işaretlenmesi için kullanılıyor.
Aşağıdan da backupların alınmasını istediğiniz klasörü seçiyorsunuz. Dosya formatını “bak” olarak bırakıyoruz. Ve next diyoruz.
Burada Cleanup Taski yapılandıracağız.
İster backup dosyalarını istersekte logları sildirebiliyoruz.
Biz backup dosyalarını sildireceğiz.
Resimdeki gibi istersek bir klasörün içinin tamamını kontrol edip siler yada istersek spesifik bir dosya gösterebiliriz.
Dosya formatı yine “bak” olmalı çünkü yedeklerimiz bak türünde alınıyor.
Burada dikakt edilmesi gereken nokta dosya formatlarının başına nokta (.) koyulmaması. Çünkü dosya formatları başındaki nokta ile anıldığı için bu hata yapılabiliyor.
Bir alttan ne kadar süre sonra silineceğini belirliyoruz. Ben 7 gün yapıyorum.
Böylece planın çalıştığı her gün ilgili klasörde 7 gün öncesine ait .bak dosyaları silinecek. Ve disk boyutumuz stabil kalacak.
Son ekranımzda raporların ne şekilde kaydedileceğini belirliyoruz.
Eğerki büyük ve çok serverlı bir şirkette çalışıyorsanız e mail raporlama çok işinize yarayacaktır. Her sabah mail kutunuzdan gelen mailleri kontrol ederek yönetimi yapabilirsiniz.
Mail için önceden database mail ayarlarının yapılması ve operatör eklenmiş olması gerekmekte. Bir önceki makalemde bunları açıklamıştım.
Son olarak Success mesajınıda aldıktan sonra maintenance plan ekranında böyle bir ekranı görüyor olmalıyız. Ve SQL server agentta job tabında oluşturdugumuz schedulei görebiliriz.
Dilim döndüğünce anlatmaya çalıştım. Umarım yararlı olabilmişimdir.
İleride farklı taskleride anlatmaya çalışacağım.
Saygılar