Yazılımda oluşan hataların Extended Events ile detaylarının izlenmesi

28 Eyl by NURULLAH ÇAKIR

Yazılımda oluşan hataların Extended Events ile detaylarının izlenmesi

Veritabanında bir hata olduğu zaman genellikle ilk bakacağımız yer SQL Server Error Log’dur. Bazen veritabanı ile ilgili bir sıkıntı olmaz ama uygulama yine de hata verir. Uygulamacılar hatanın nedenini bulamazlar. Böyle bir durumda sizden yardım isteyebilirler. Örneğin veritabanına kayıt ekleyemiyorum gibi bir neden ile.. Böyle bir durumda uygulamacıya hangi login ile bu hatayı aldığını sormalısınız. Daha sonrada SQL Server Extended Events’i kullanarak bu login ile ilgili alınan hataları monitor edebilirsiniz.

 

Bir örnek yaparak bu işlemi gerçekleştirelim. TestLogin isimli bir loginimiz olsun. SSMS(SQL Server Management Studio) üzerinde Management->Extended Events sekmelerini kullanarak aşağıdaki gibi yeni bir Extended Event Session’ı oluşturuyoruz.

 

 

Bir sonraki ekranda Do not show this page again’i seçip next diyoruz.

 

 

Bir sonraki ekranda Session name kısmında oluşturacağımız Extended Event Session’ına bir isim veriyoruz.  Start the event session at server startup’a tıklayarak server açıldığında bu session’ın açılmasını sağlayabilirsiniz. Ben bu session’ı genelde özel olarak hata durumunda açtığım için bu seçeneği seçmiyorum.

Bir sonraki ekranda session’ı oluşturmak için hazır bir template kullanıp kullanmak istemediğimizi soruyor. Ben bu işlem için herhangi bir template kullanmayacağım. Bu yüzden Do not use a template’i seçerek next diyorum. Sitemizin arama kısmına Extended Events yazarak daha detaylı bilgi bulabilirsiniz.

Bir sonraki ekranda Event Library yazan yerin altına error_reported yazıyoruz ve aşağıdaki resimde sarı ile çıkan error_reported’a iki kere tıklayarak seçiyoruz ve next diyerek ilerliyoruz.

 

 

Bir sonraki ekranda hata ile ilgili hangi parametreleri yakalamak istediğimizi soruyor. Ben bu işlem için aşağıdaki seçimleri yapıyorum.

 

 

Bu seçimlerden benim için en önemli olanları sql_text,username.

 

Bir sonraki ekranda filtreleme yapacağız. Filtreleme yapmazsak bu Extended Events Session’ı tanımladığımız tüm instance üzerindeki hataları izliyor oluruz. Aşağıdaki gibi filtreleme yaparak sadece TestLogin’in gönderdiği sorguların aldığı hataları yakalayabiliriz.

 

 

Next Finish diyerek kurulumu tamamlıyoruz. Kurulum tamamlandıktan sonra aşağıdaki gibi session’ımızı başlatıyoruz.

 

 

Kullanmadığınız zamanlarda session’ı kapalı tutmanızı tavsiye ederim. Start işlemi gerçekleştikten sonra session üzerinde sağ tıklayıp aşağıdaki gibi Watch Live Data diyoruz ve aşağıdaki gibi bir ekran açılıyor.

 

 

Örneğin yukarıdaki ekranda görünen hatayı şöyle yorumlayabiliriz. Sql_text kısmında yazan sorgu TestLogin tarafından gönderilen ve hata alan sorgu. Message kısmında yazan şey ise sorgunun neden hata aldığı. Uygulamacıyı bu şekilde bilgilendirebilirsiniz.

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir