Makale Özeti

MS SQL Server 2005 ile beraber karşımıza çıkan yeni araçlardan bir tanesi de Database Tuning Advisor. MS SQL Server eski sürümlerinden beri kullandığımız SQL Profiler aracının sonuçlarını yani trace dosyalarını yorumlayan ve bizim için öneriler üreten bir araç olan Database Tuning Advisor performans konusunda endişe taşıyanlar için oldukça sık başvurulacak bir araç.

Makale

MS SQL Server 2005 ile beraber karşımıza çıkan yeni araçlardan bir tanesi de Database Tuning Advisor. MS SQL Server eski sürümlerinden beri kullandığımız SQL Profiler aracının sonuçlarını yani trace dosyalarını yorumlayan ve bizim için öneriler üreten bir araç olan Database Tuning Advisor performans konusunda endişe taşıyanlar için oldukça sık başvurulacak bir araç.

Eski sürümlerde SQL profiler ile veritabanı üzerinde seçeceğimiz işlemler için zamanlanmış denetlemeler gerçekleştirirdik. Bu denetlemeler sonucunda hangi sql sorgusu ne kadar zamanda gerçekleşiyor, ne kadar sistem kaynağı kullanıyor görür ve sonuçları yorumlardık. Yorumlarımız neticesinde performansı düşük olan sql cümleciklerini inceler gerekli değişiklikler yapar veya performansın düşüşüne sebep olarak gördüğümüz bazı nedenleri indexler yaratarak, indexleri düzenleyerek veya işlemleri farklı çözümlerle yaparak(Stored Procedure gibi) çözmeye çalışırdık.

Şimdi ise bu yorumlama işini bizim için yapan bir aracımız var. Bu araç bize trace dosyalarımızı veya trace kayıtlarını tuttuğumuz tabloları(Tablolarda trace kaydı tutmak SQL Server 2005 ile beraber geldi) yorumlayarak neler yapmamız gerektiğini söylüyor ve bunu bizim için raporluyor.

Fazla beklemeden işe koyulmakta fayda var. Öncelikle SQL Profiler'ı kullanarak veritabanındaki bazı işlemleri kontrol edelim. Sonucu hem bir *.trc dosyasına (SQL Profiler'in default dosya uzantısı) hemde bir tabloya kaydedelim ve sonrasında Database Tuning Advisor'ı kullanarak bu işlemi yorumlatalım.

Tools menüsünden veya Başlat>Tüm Programlar>MS SQL Server 2005>Performance Tools yolu ile SQL Profiler'ı başlatabilirsiniz.



Konumuz SQL Profiler olmadığından buradaki detayları geçeceğim. Ancak maddeler halinde yapılması gerekenleri yine de listeleyelim.

- SQL Profiler'ı açın ve yeni bir trace session yaratın
- Yaratacağınız session için bir isim bilgisi girin
- Trace kaydını bir *.trc dosyasında tutmak istiyorsanız "save to file" seçeneğini konfigure edin.
- Trace kaydını bir tabloda tutmak istiyorsanız "save to table" seçeneğini konfigure edin.
- Hangi işlemlerin trace ini tutmak istediğinizi belirtin
- Session'ı başlatın
- Arka planda testinin yapılmasını istediğini SQL sorgularını çalıştırın
- Bir müddet SQL sorguları çalıştırmaya devam edin
- Stop butonuna basarak session ı kapatın

Şimdi ise Database Tuning Advisor'u açalım ve kaydettiğimiz trace dosyasını ve tablosunu kullanalım. Database Tuning Advisor'u SQL profiler'ı başlattığınız menü tablarından bulabilirsiniz.



General tabında başlatacağınız işlem için bir session name vermelisiniz. Default'u o an bağlı olduğunuz kullanıcı ve anın tarih saat bilgisinden oluşan dinamik bir isimdir.

Sonrasında çalışacağınız Workload'ı seçmelisiniz. Az önce kaydettiğiniz tablodan mı yoksa *.trc dosyasından mı gerçekleştireceksiniz işlemi.

Sonrası ise incelemek istediğiniz veritabanı ve tablolarının seçimi.



Seçimlerinizi yaptıktan sonra üstte bulunan "Start Analysis" butonuna basmanız işlemi başlatmak için yeterli. Sonrasında MS SQL Server 2005 sizin için bir rapor oluşturacak ve hatta bu raporu başka yere taşımanıza, xml e aktarmanıza da izin verecektir.



İşlemin tamamlanmasının ardından SQL Server 2005 sizler için bir rapor oluşturacaktır.





Her ne kadar Database Tuning Advisor'un sonuçları size birer öneri getirsede yine de SQL profiler sonuçlarını ve hatta Database Tuning Advisor sonuçlarını sizlerinde yorumlamasında fayda olduğunu düşünüyorum.


Evren AYAN
Microsoft MVP
http://www.evrenayan.net