17 Temmuz 2014 Perşembe

Sql Server 2012 Maintenance Plans

Sql Server Databaselerimizin stabil çalışması için periyodik olarak bakım çalışması yapılması ve yedekleme işleminin yapılması gerekir.
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.

Update Statistics Task
İ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.



Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek

  SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...