Как увидеть значения переменных в SQL Profiler при срабатывании триггера?

Я создаю триггер «После обновления» для таблицы SQL Server 2008. Триггер срабатывает нормально, но одно из значений, которые он обновляет в другой таблице, неверно. Я просматриваю трассировку в SQL Profiler, но не вижу там значений моей переменной.

Я прочитал этот другой question и поэтому добавил в мою трассировку RPC: Completed Event, но по какой-то причине в моей трассировке не было экземпляров этого события. То есть я вижу это в других местах на трассе, но не там, где срабатывает мой спусковой крючок.

Чтобы (надеюсь) быть ясным, мой триггер ВЫПОЛНЯЕТ SP следующим образом:

EXEC SP_UpdateSomeStuff @variable1, @variable2

... и это все, что я вижу в следе. Я хочу увидеть:

EXEC SP_UpdateSomeStuff @variable1 = 111, @variable2 = 222

... но я не могу понять, какие события добавить, чтобы получить это. Спасибо за любые идеи.


person Peter    schedule 15.02.2012    source источник


Ответы (1)


«RPC» означает «удаленный вызов процедуры» - как правило, запросы, отправленные «извне» на SQL Server. Триггерные события - это что угодно, только не внешние вызовы, поэтому вы не видите их в Profiler.

Я подозреваю, что вы не сможете увидеть свои значения параметров через SQL Profiler. Можете ли вы временно ввести код отладки (insert DebugTable values (Wvariable1, etc.), чтобы значение, с которым вы работаете, где-то регистрировалось?

person Philip Kelley    schedule 16.02.2012
comment
Да, теперь понятно. Мне придется попробовать эту вставку, чтобы отладить идею. Спасибо! - person Peter; 16.02.2012