MS SQL Server Maintenance Plan Oluşturmak
MS SQL Server üzerinde veritabanlarınız var ve bunları düzenli olarak yedeklemek istiyorsunuz. Ve diyelim ki geriye dönük olarak iki aylık bir süreç içinde aldığınız tüm yedekleri tutmak istiyorsunuz. İki aydan daha eski olanları da otomatik olarak sisteminizden silmek diskinizde bir yer problemi oluşmasını engelleyecek.
Bunun için en uygun yöntem MS SQL Server üzerinde Enterprise Manager ile bir Maintenance Plan oluşturmanız olacaktır.
Atacağınız ilk adım SQL Server üzerindeki bir veritabanı üzerinde sağ
tıklama ile açılacak menüden "All Tasks" ve ardından "Maintenance
Plan..." seçimlerini yapmaktır. Seçiminizin hemen ardından karşınıza
bir "Maintenance Plan" oluşturmanızda size yol gösterecek sihirbaz
gelecektir.
Veya sunucunuzdaki Management altında yeralan Database Maintenance Plans 'e
tıklayarak Action menüsünden "New Maintenance Plan" ile de bu
sihirbaza ulaşabilirsiniz.
Oluşturacağınız plan ile SQL Server Agent uygulamasının düzenli aralıklarla çalışarak veritabanı bütünlüğünü kontrol etmesini, veritabanı istatistiklerini güncellemesini, yedekleme işlemlerini gerçekleştirmesini ve transaction loglarını başka bir sunucuya kopyalanmasını sağlayabilirsiniz.
Tüm bu işlemler için SQL Server Agent servisinin çalışıyor olması gerektiğini unutmayalım.
Bir sonraki adımınız bakım planınıza dahil olacak veritabanlarını belirlemek olacaktır.
"pubs" yanında "Northwind" veritabanını da ekleyebiliriz.
Ardından seçtiğiniz veritabanındaki veri ve indeks sayfalarının yeniden
düzenlenmesi aşaması gelmektedir. Dilerseniz bu aşamayı hiçbir işlemin
gerçekleşmesini seçmeden geçebilirsiniz. Veya bir kaç adımda fiziksel olarak verilerin tutulduğu ve bu verilere kolay erişimde kullanılan
indekslerin fiziksel olarak tutuldukları "page"lerin performansı
arttıracak şekilde yeniden yapılandırılmasını sağlayabilirsiniz. Burada
ve SQL server ile ilgili olarak yapılan işlemlerde sıkça karşılaşacağımız
"schedule" yani takvim oluşturma işlemini de yapalım. Belirleyeceğimiz
takvime göre veri ve indeks sayfalarının güncellenmesi, veritabanı
istatistiklerinin güncellenmesi ile veritabanı "shrink" işleminin
yapılması SQL Server Agent tarafından gerçekleştirilecektir.
Varsayılan takvim sıklığı "Occurs every 1 week(s) on Sunday, at 01:00:00." yani haftada bir pazarları saat 01'dir.
Sizde bu işlemlerin hergün, günde iki kez tekrarlanmasını ve sürekli olarak tekrarlanmasını isteyebilirsiniz.
Veritabanı bütünlüğünün kontrolü aşamasında ihtiyacınız olan ayarlamaları yaptıktan sonra bu kontrollerin sıklığını dilediğiniz takvime bağlayabilirsiniz.
En sık kullanacağımız ve en ihtiyacımız olan da veritabanlarının otomatik olarak yedeklenmesi ile ilgili ayarların yapıldığı bölümdür.
Burada yedekleme işlemini bakım planına dahil ettik.
Ardından yedekleme sonrası verinin bütünlüğünün kontrol edilmesini istedik.
Ve alınan yedeğin disk üzerine yazılmasını seçtik.
Yine yedekleme işlemi için bir takvim belirlemeniz gerekecek.
Yedekleme işlemini sisteminizin boş olduğu bir saatte yaptırabilirsiniz.
Bir sonraki adımda disk üzerinde yedeklerimizin nereye yazılması, geriye dönük kaç günlük yedek tutulacağı bilgilerini sisteme tanıtabilirsiniz.
Örneğin varsayılan yedek dizinine değilde ayrı bir dizinde yedeklerinizi kaydetmek istediğinizi girdiniz.
Her bir veritabanı için ayrı ayrı dizinlerde bu yedeklerin tutulacağını belirttiniz.
1 haftadan daha eski yedeklerin sistem tarafından silinmesini seçtiniz.
Ve yedek dosyalarınızı tanımlayabilmek için .BAK uzantısını seçtik.
Bir sonraki adım Transaction Log'larının yedeklenmesi için ayarların yapıldığı bölümdür. Bu kısım size bir önceki kısım ile tanıdık gelecektir.
Veritabanları ile ilgili bakım işlemlerinin tanımlanmasını bitirdikten sonra bakım planı sonuçlarının bir rapor olarak alınmak istenip istenmediği ile ilgili ayarların yapıldığı bölüme geldik.
Rapor isteniyorsa hangi dizinde tutulmasını istediğinizi belirtebilirsiniz.
Ayrıca belli bir dönemden önceki raporların yine sistem tarafından otomatik olarak temizlenmesini sağlayabilirsiniz.
Ve isterseniz hazırlanan bu raporun e-posta yolu ile dağıtımını sağlayabilirsiniz.
Son adım bakım sırasınca bir tarihçe tutulmasını isteyip istemediğinizi belirttiğiniz bölümdür.
Bu tarihçe bilgileri MSDB veritabanı içinde sysdbmaintplan_history tablosuna yazılacaktır.
İsterseniz bu logları başka bir sql server üzerinde de tutabilirsiniz.
Aşağıdaki sorgu cümleciği ile tablodaki tüm kayıtları görüntüleyebilirsiniz.
Bir isim vererek bakım planınızı tanımlamış olduk ve bir takvime bağlı olarak çalışmasını sağladık.
Dilerseniz Management altındaki "Database Maintenance Plans"e tıklayarak sağ panelde yeni oluşturduğumuz bakım planı kaydını görebilir ve buradan seçerek güncelleyebilirsiniz.