SQL Server Extended Events Nedir?

SQL Server 2008 R2 versiyonu 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 versiyonlardan 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 versiyonlarında SQL Server Profiler kaldırılacağı için Microsoft profiler aracı yerine Extended Events kullanılmasını öneriyor.

extented_events

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.

new_session_wizard_introduction

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.

set_session_properties

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.

choose_template

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.

Select_Events_To_Capture

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.

Capture_Global_Fields

Bir sonraki ekran olan “Capture Global Fiels” ekranında bütün event’lerde ortak olan alanları bu ekranda dahil edebilir veya çıkartabilirsiniz.

Set_Session_Event_Filters

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.

Specify_Session_Data_Storage

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.

Summary

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.

script

success

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.

session_live_data

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.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.