Genişletilmiş olay oturumundan parametre değerleri toplama


9

Uygulamamız tarafından kullanılan ifadeleri izlemek için genişletilmiş olaylar kullanıyorum. Ben de kullanılan parametrelerin gerçek değerlerini bilmek istiyorum dışında, istediğim bilgileri toplayacak bir oturum oluşturduk .

Bu izi üretim dışı bir ortamda gerçekleştiriyorum ve izin isabet ettiği herhangi bir performans kabul edilebilir.

Tüm sorgular Hazırda Bekletme kaynaklıdır ve şu şekilde parametrelendirilmiştir:

SELECT a, b, c From Customer where CustomerId = @P0

Bu benim oturum kurulumum.

CREATE EVENT SESSION [TracingForStatements] ON SERVER 
ADD EVENT sqlserver.sp_statement_completed ( 
    ACTION (    
        sqlserver.session_id,
        package0.collect_system_time,
        sqlserver.transaction_id,
        package0.event_sequence
    ) 
    WHERE ( 
        sqlserver.database_id=555
    ) 
) 
ADD TARGET package0.ring_buffer(SET max_memory= 128000)
WITH (EVENT_RETENTION_MODE = NO_EVENT_LOSS, 
      MAX_DISPATCH_LATENCY = 1 SECONDS)

Yakalanan ifadelerde kullanılan parametrelerin gerçek değerlerini nasıl yakalayabilirim? Mümkün mü?

- Düzenle (Geçici Çözüm): Etkinliğin rpc_completed olarak değiştirilmesi, Hazırda Bekletme denilen tam sql komutunu (tüm parametre değerleri dahil) verir. Diğer durumlarda, mümkünse parametre değerlerini nasıl yakalayacağınızı bilmek yine de iyi olacaktır.


Sqlserver.rpc_completed öğesinin parametre değerleri dahil tam T-SQL sağlayıp sağlamadığını kontrol edin .
Ivan Stankovic

@IvanStankovic, evet bunu yapmak zorundaydım. "Düzenle" de soruda belirtildiği gibi.
Peter Henell

Yanıtlar:


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.