Makale Özeti

Veritabani yonetim sistemi icerisinde veritabanlari yaratmak,queryler yazmak ve güvenlik bunlarin hepsini bir şekilde yönetiyoruz fakat her zaman performans adına bir suclu aramak icinde hazır bekliyoruz.

Makale

Veritabani yonetim sistemi icerisinde veritabanlari yaratmak,queryler yazmak ve güvenlik bunlarin hepsini bir şekilde yönetiyoruz fakat her zaman performans adına bir suclu aramak icinde hazır bekliyoruz.Aslinda asil suclu size biz yani kendimiziz desek sanırım yanlis olmaz.Bunun icinde Sql Server icerisinde bu durumu izleyebildigimiz ve sureci yonetebildigimiz Sql Server Profiler isimli aracla neler yapilabilir buna bakıyor olacagiz.
Eğer SQL Server'ın yapabilecekleri dışında daha fazla yeteneğe sahip olmasını istiyorsanız Microsoft'un sql server ile birlikte bize verdiği grafiksel bir araç olan SQL profiler'ı ayarlamak ve konfigüre etmeliyiz.Bu araçla SQL Server üzerinde gerçekleşen onlarca olayın performansını izler ve potansiyel yaşanan sıkıntıları görüntüler ve bize bilgi verecek bir veritabanı içerisinde tablo veya trace file 'ı oluşturmaya yarar.
SQL profiler aracını anlatmadan önce sql server'da performans elde etmek veya genel performans tanımının nasıl yapılacağını inceleyelim.Performans metodolojisinde performans çalışmasını uygulamanın çalışmasına başlangıcından süregelen zaman zarfında yapılmalıdır .
Burada söylenecek en önemli iki şey 1- Problem Tanımı ve 2-Historical Data.

Performansta söylenecek en önemli durumlardan biri mümkün mertebe amaca yönelik dataların sorgulanması ve performansın amacı Disk I/O düşürmek,Network trafiğini azaltmak,Cpu time düşürmek(Yoğunluğu izlemek)

Performans stratejilerinde söylenecek genel tanımlar: 1-Ekstra Hardware Çözümleri
2-SQL Server konfigürasyon parametreleriyle ölçülen durumlar(sp_configure)
3-Database Tune ile veritabanı design ve index optimization
4-Client Application Tune

Oncelikle yapmamiz gereken islem Sql Server 2005 icerisinden Tools >> Sql Server Profiler secerek asagida ki ekran karsimiza gelecektir.


Sol ustte ki secenegi kullanarak New Trace seciyoruz.
Bu islemin ardından Trace edecegimiz sunucuya baglanma islemini gerceklestiriyoruz.


Trace Properties ile General tabında ise benim için izleyecek olduğum SQL Server'im ile ilgili bilgileri nerede ve nasıl tutacağım ilgili detaylar iliskilendirilir.Burada ben trace bilgilerimi .trc uzantılı bir dosyadada izleyebilirim veya SQL Server içerisinde herhangi bir veritabanı içerisinde tablo olarak ta tutabilirim.Örnek uygulama için Demo isimli bir veritabanı içerisinde Trace isimli bir table'da tutuyorum.En altta görebileceğiniz önemli bir durum var Enable Stop Time özelliği burada söylenecek en önemli söz ise SQL profiler 7/24 çalıştırılacak olan bir araç değildir.SQL profiler'ın 7/24 çalıştırılması demek sql server üzerind egerçekten bir yüke sebep olacaktır.Bunun için SQL profiler'ın otomatik başlatılması gibi bir durum söz konusu olmayacağı için profiler'ın otomatik durdurulması gibi bir seçenek sözkonusudur.Manuel bir durdurma işlemide yapılacak durumlar arasındadır.SQL Server üzerinde performans namına yapılacak işlemler arasında SQL profiler'ı sürekli olarak açık tutarak bir sonuç alınamayacaktır.Bunun için yapılması gereken işlem belirli zaman dilimleri belirleyerek bu süreler içerisinde baseline oluşturarak istatistiki bir durum belirlemek olmalıdır temel amaç.


Bu islemin ardindan Sql Server'imizda hangi olaylari yada hangi islemleri izleyecegimizi belirttigimiz Event Selection tabinda istenilen ve ihtiyac duydugumuz olaylari seciyoruz.Burada onemli olan nokta alt kisimda bulunan Show All Events isimli secenegi aktif hale getirerek sunucumuz uzerinde bize sunulan tum secenekleri gorebiliriz.


Bu islemin ardindan Organize Columns secerek trace ettigimiz bilgierin neler olacagi ve hangi isleme gore gruplanacagini secebiliriz.


Bu gruplamayida yaptiktan sonra istersek Column Filter ozelligi ki cok fazla onemli hangi db uzerinde trace islemi uygulayacagimizi aksi halde bu sunucuda ki gerceklesen tum islemler icin trace islemi uygulayacagini bilmemiz gerekir.Gerekli sarti da bu sekilde verebiliriz.
Ardindan Run dersek artik sunucumuz izlenmeye baslanacaktir.

Artik sunucumuz dinlenmeye basladi fakat en onemli ozellik olarak uzerinde durmamiz gereken Sql Profiler isimli arac 7/24 surekli calistirabilecegimiz bir arac degildir.Ihtiyac dogrultusunda ve belli zamanlarda kullanmamiz gereken bir ozelliktir.
Demo isimli veritabanimizin Trace isimli tablosuda asagida ki sekilde olacaktir.



Bu makale ile ilgili soru, oneri ve goruslerinizi soner.yasar@bilgeadam.com adresine atabilirsiniz.