SQL Server Extended Events Nedir?
SQL Server 2008 R2 sürümü ile gelen ve SQL Server 2008 R2 sonraki sürümlerde de desteklenip grafiksel arayüze sahip olan bu özellik ile SQL Server sorgularını takip edip performans analizi yapabilir ve deadlock vb. problemleri tespit edip çözüm bulabilirsiniz.
SQL Server’da çok eski sürümlerinden beri kullanılan SQL Server Profiler‘ın performans açısından Extended Events‘e göre dezavantajları olduğu için alternatif olarak kullanıma sunuldu. İlerleryen SQL Server sürümlerinde SQL Server Profiler kaldırılacağı için Microsoft profiler aracı yerine Extended Eventskullanılmasını öneriyor.
Extended Events özelliğini kullanmak için Management klasörü altında bulunan Extended Events’in içindeki Sessions klasörüne sağ tıklayıp “New Session Wizard” komutunu seçelim.
Karşımıza gelen bilgi ekranına ufak bir gözatıp Next ile geçtikten sonra bizi Set Session Properties ekranı karşılayıp oluşturacağımız Session için bir isim girmemizi isteyecektir.
Session Name olarak “Ext_Test_Session” belirttikten sonra “Start the event session at server startup” seçeneğini işaretledim. Bu seçenek sunucu başladığında oluşturmuş olduğumuz session’umuzun otomatik olarak başlayıp başlamayacağını ayarlayabiliyoruz.
Next ile devam ettikten sonra bizi bir sonraki ekran olan “Choose Template” ekranı karşılayacaktır. Bu ekranda ihtiyacımız olan hazır template’lerden birisini seçip ilerleyebilir veya seçmeden de ilerleyebiliriz.
Bir sonraki ekran olan “Select Events To Capture” ekranında seçmiş olduğumuz “Template” göre bu ekranın sağ tarafında bulunan “Selected Events” ekranı dolu gelecektir. Eğer template seçmez ise bu bölüm boş geliyor olacaktır. Selected Events ekranı dolu veya boş gelse de Event Library ekranından istediğimiz event’ti Selected Events bölümüne dahi edebiliriz.
Bir sonraki ekran olan “Capture Global Fiels” ekranında bütün event’lerde ortak olan alanları bu ekranda dahil edebilir veya çıkartabilirsiniz.
Bir sonraki ekran olan “Set Session Event Filters” ekranında dinlenecek olan evnet’leri belirli koşullara göre filtreleyebilirsiniz. Ben Veritabanı olarak “TESTDB” veritabanını ve kullanıcı ismi “mesutg” olan eventleri filtreledim.
Bir sonraki ekran olan “Specify Session Data Storage” ekranında oluşaçak olan analizi nasıl saklayacağımızı belirleyeceğimiz bir ekran ile karşılaşıyoruz. Bu ekranda oluşan analizi daha sonra incelemek için bir dosyaya kaydetme seçeneği de mevcut.
Son adımda bizi “Summary” ekranı karşılıyor. Yapmış olduğumuz tüm seçenekleri özet olarak bize sunan bu ekranın sağ altında “Script” butonu yardımı ile grafiksel ekranda yapmış olduğumuz bu işlemlerin t-sql sorgusunu alabiliriz.
En son adımda event session’umuzun başarıyla oluştuğu bilgisini veren bir ekran bizi karşılıyor. Bu ekranda bulunan “Start the event session immediately after session creation” seçeneğini işaretleyip event session’unumuzu başlatabiliriz.
Oluşturmuş olduğum event’i test etmek için birkaç sorgu yazıp çalıştırdım. Belirtmiş olduğum eventleri ve filtreleri başarıyla çalıştırdı ve koşula uyan sorguların listesini gösterdi.
Not: Extended Events özelliği SQL Server 2008 R2 ile birlikte gelmesine karşın SSMS 2008 sürümünde grafiksel arayüzde sahip değildir. SQL Server 2012 ve üst sürümlerde grafiksel arayüz ile desteklenmiştir