Bu işlemler databaselerin periyodik olarak yedeklenmesi, indexlerin rebuild ve reorganize edilmesi, shrink işlemleri ve istatistiklerin update edilmesi işlemler olabileceği gibi kendi hazırladığımız bir jobun belirli periyodlar içerisinde çalışmasını sağlayabiliriz.
Tabi bu işlemleri manuel yapmak mümkün. Her gece saat 02.00'da yedek almak için saat kurulup kalkıp yedekleme işlemi gibi. Ama bu işleri yapmak için joblar devreye giriyor. SQL Server Maintenance Plan ise bize bu işlemleri belli bir plan içinde yapma şansı tanıyor. Aynı zamanda yapılan tanımlamayı tek bir yerden kontrol edebilme, aynı şekilde işlem sonucunuda tek bir yerden raporlama hakkı veriyor.
Maintanence plan’ın çalışması için 2 adet servis’in çalışır durumda olması gerekmektedir.
Bunlar;
• SQL Server
• SQL Sunucu Agent
Maintenance
Planslara Management Studio kullanarak
Maintenance Plans kullanarak ulaşabiliriz. Kendimiz New Maintenance Plans diyerek plan
tanımlayabileceğimiz gibi Maintenance Plan Wizard kullanarak Maintenance Plan
tanımlayabilmekteyiz.
Tanımladığımız
maintenance planlar için schedule
tanımlayabilir ve bu şekilde bu işlemleri periyodik olarak gerçekleşmesini
sağlayabilirsiniz.Kısaca hangi işlemleri yapabildiğimize değinecek olursak(İleriki yazılarda ayrıntılı olarak değinilecektir.)
Backup Database Task
Bakım planlarına
yedekleme görevi eklemek için kullanılır. Veritabanı herhangi bir donanım
hatası veya kullanıcı hatası nedeniyle zarar görmüş olabilir ve geri dönülmesi
için veritabanının bir kopyası gerekebilir. Bu görev full, differential, files
ve filegroups vetransaction log backups yedekleme işlemi için olanak sağlar.
İstatistik
verilerini update etmek için kullanılır.
Execute SQL Server Agent Job Task
Maintenance Plans
içinden SQL Server Agent Joblarını kullanmak için bu tools kullanılır.
Execute T-SQL Statement Task
Maintenance plan
için T-SQL scriptleri çağırmak için kullanılır.
History Cleanup Task
Geçmişe yönelik
Bakup ve Restore , Sql Server Agent ve Maintenance Planlara ait logları silmek
için kullanılır. Bu datalar MSDB databaseinde tutulur. Bu databasein büyümesi
engellenmiş olur.
Maintenance Cleanup Task
Bakım planları ile
ilgili eski dosyaları ve maintenance plans ve veritabanı yedekleme
dosyaları tarafından oluşturulan logları temizlemek için bu task kullanılır.
Notify Operator Task
Bu task otomatik
uyarılar için kullanılır. Kullanmak için Database Mail özelliği aktif olmalı,
mail host olarak MSDB database düzgün yapılandırılmış olmalı ve Sql Server
Agent Servisinin geçerli bir mail adresi olmaldır.
Rebuild Index Task
Tablolar üzerinde
bulunan indexlerin yeniden oluşturulması için bu task kullanılır. Database ve
object seçimini istediğimiz gibi yapabiliriz.
Bu
ekranda ayrıca “Keep Index online while reindexing” seçeneği bizim için çok
önemli. Bu seçenek vasıtasıyla reindex işlemi yapılırken dahi index e erişimi
kesmemiş oluyoruz.Full scan yapılırken, aynı zamanda istatistiklerde güncellenir.
Reorganize Index Task
Indexleri yeniden
organize etmek için kullanılır.
İstatistikleri güncellemediği için Update Istatistik Task ile birlikte
kullanılır. Bu task Sql Server 2014'de
ALTER INDEX REORGANIZE scriptini kullanmaktadır.
Shrink Database Task
Seçilen database
boyutunu azaltmak için bir task oluşturmak için kullanılır.DBCC SHRINKDATABASE
deyimini çalıştırmak için kullanılır.
Check Database Integrity Task
DBCC
CHECKDB Transact-SQL deyimini çalıştırarak
veritabanında kullanıcı ve sistem tabloları ve indeksler yapısal bütünlüğünü kontrol etmek için bu Task kullanılır.