ÇözümPark'a hoş geldiniz. Oturum Aç | Üye Ol
 
Ana Sayfa Makale Video Forum Resimler Dosyalar Etkinlik Hizmetlerimiz Biz Kimiz

SQL Server

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.

clip_image002

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.

clip_image004

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.

clip_image006

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.

clip_image008

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.

clip_image010

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.

clip_image012

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

clip_image014

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.

clip_image016

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.

clip_image018

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.

clip_image020

clip_image022

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.

clip_image024

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.

 

Tarih : 09 Temmuz 2016 Cumartesi 08:10 Yayınlayan: Mesut GÜNEŞ

Yorumlar

 

Rıza ŞAHAN

Elinize sağlık.

Temmuz 9, 2016 13:06
 

Yavuz Filizlibay

Eline sağlık

Temmuz 9, 2016 17:35
 

Tayfun KOÇ

Hocam elinize sağlık.

Sormak istediğim bir konu var.

Sql Profiler kullanan biri olarak daha önce ki tecrübelerime göre SqlProfiler üzerinde Trace properties te Column Filters altında SP ID ile uygulama bazlı çalıştırılan SQL sorgularını takip edebiliyordum.Bu özellik bana uygulama bazında SQl sorgularını takip edebilme yetkinliği kazandırıyordu. Böyle bir yapının sağlandığı bir uygulamada Extend Events altında da istediğim uygulamayı filtrelerek sadece o kullanıcının çalıştırdığı SQL sorgularını yakalabilir miyim?

Ocak 6, 2017 10:35
Kimliksiz yorumlar seçilemez kılınmış durumdadır.

Yazar: 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. Kişisel blog sayfam ve Bt Kulübü isminde kurmuş olduğumuz toplulukta paylaşımlarda bulunuyorum.

Hızlı aktarma

Etiketler