Збір значень параметрів із розширеного сеансу подій


9

Я використовую розширені події, щоб простежити твердження, використовувані нашою програмою. Я створив сеанс, який збиратиме потрібну інформацію, за винятком того, що я також хотів би знати фактичні значення параметрів, які використовувались .

Я виконую цей слід у невиробничому середовищі, і будь-яка ефективність, потрапила в слід, є прийнятною.

Усі запити походять із сплячого режиму та параметризовані у вигляді:

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

Це моя налаштування сеансу.

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)

Як я можу фіксувати фактичні значення параметрів, які використовувались у захоплених операторах? Це можливо?

- Редагувати (вирішення): Зміна події на rpc_completed дає мені повну команду sql (включаючи всі значення параметрів), викликану з режиму hibernate. В інших випадках все-таки було б добре знати, як зафіксувати значення параметрів, якщо це можливо.


Перевірте, чи sqlserver.rpc_completed забезпечує повний T-SQL, включаючи значення параметрів.
Іван Станкович

@IvanStankovic, так я мав це зробити. Як згадувалося у питанні у "Редагуванні".
Пітер Хенелл

Відповіді:


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.