Sql Server üzerinde Bakım ve Yedekleme Planı Nasıl Hazırlanır?
Microsoft SQL server üzerinde çalışırken hepimizin kabusu olan bakım ve yedekleme işlemlerinin belirli zaman aralıklarında otomatik olarak yapılmasını kim istemez 🙂
Bu işlemlerin otomatik olarak yapılabilmesi için Microsoft SQL Server Management Studio üzerinde bulunan Maintenance Plan bölümünü kullanacağız.
- Management Studio üzerinde Maintenance Plans kısmında New Maintenance Plan oluşturmak istediğimizde aşağıdaki gibi bir hata ile karşılaşabiliriz. Bu durumda yapılması gerekenler Agent XP’ hatasının çözümü adresinde ayrıca anlatılmıştır.
Belirtilen adresteki çözüm uygulandıktan sonra Maintenance Plan özelliği aktif hale gelecektir.
Sonrasında Maintenance Plans üzerine sağ klik yapılarak New Maintenance Plan seçilir.
Bakım planı ismine onay verdikten sonra gelen ekrandaki manage connections kısmında Local Server Connection seçili olmasına dikkat edilir.
Bakım planımızın zaman tanımlarını ayarlamak için ekrandaki SubPlan Schedule butonuna basılır.
açılan ekranda bakım zamanlarını tanımlayabileceğimiz alanlar bulunacaktır.
Schedule Type : Recurring
Occurs : Daily (Günlük)
Occurs once at: (Günün hangi zamanında çalışmasını istiyorsanız o zaman bilgisini yazabilirsiniz) 17:40:00 gibi
Start Date: Bakım işleminin ilk önce hangi gün çalışmasını istiyorsanız o tarihi yazabilirsiniz. 28.07.2015 gibi
ve OK butonuna basarsınız.
Tüm bu işlemler bitince karşınıza boş bir ekran gelecektir.
Bu aşamada da yapılmasını istediğiniz bakım planını grafik olarak adım adım tasarlayacağız. Bunun için VIEW menüsünden TOOLBOX tıklanarak (Ctrl+Alt+X) Management Studio üzerinde görünür hale getirilir.
Toolbox üzerindeki nesneler ve açıklamaları aşağıda verilmiştir;
Backup Database Task: Veritabanı Yedekleme
Check Database Integrity Task: Veritabanı Bütünlük Kontrolü
Execute SQL Server Agent Job Task: Sistem üzerinde yer alan farklı bir iş planını çalıştırmanızı sağlar
Execute T-SQL Statement Task: Sistem üzerinde sizin yazacak olduğunuz bir T-SQL kodunuzu çalıştırmanızı sağlar
History Cleanup Task: Sistem üzerinde işlem gören eski olaylara yönelik belirli bir zamandan önceki geçmiş kayıtlarının temizlenmesini sağlar.
Maintenance Cleanup Task: Daha önceki bakım işlemlerinden kalan dosyaların temizlenmesini sağlar.
Notify Operator Task: Yapılan işlem aşamasında sunucu üzerinde tanımlı operator mail adresine bilgilendirme gönderimini sağlar.
Rebuild Index Task: Veritabanı üzerinde Index yapılarını yeniden oluşturur.
Reorganize Index Task: Veritabanı üzerinde Index yapılarını düzenler, bakımını yapar.
Shrink Database Task: Veritabanına bakım yaparak boyutunu küçültür.
Update Statistics Task: Veritabanı üzerindeki istatistikleri yeniden düzenler
Bu nesnelerden istediğimizi veya ihtiyacımız olanları sırası ile sürükle-bırak ile sağ taraftaki subplan yazan kısmın altına bırakıyoruz.
Örnek senaryomuzda amacımız sunucu üzerinde bulunan tüm veritabanlarımızda sırası ile
- Veritabanı bütünlük kontrolü yapsın
- Veritabanlarının index yapılarını yeniden oluştursun
- Veritabanlarının index yapılarını düzenlesin
- Veritabanlarının boyutlarını küçültsün
- ve son olarak da tüm veritabanlarını belirtilen klasöre yedeklesin.
yukarıda da göreceğiniz gibi yapılacak işlemleri akış diyagramı biçiminde alana bırakıyoruz ve her nesnenin altındaki bağlantı noktalarını bir sonraki yada istenilen nesneye bağlayarak işlem sıralarını düzenleyebiliyoruz.
Yapılacak görevleri plan bölümüne ekledikten sonra görevlere çift tıklayarak ya da sağ klik EDIT demek suretiyle işlem detaylarını belirtebilirsiniz. Bu sayede işlem görecek veritabanlarından istediğinizi yada tümünü seçebilirsiniz.