Как увидеть значения переменных в SQL Profiler при срабатывании триггера? - PullRequest
3 голосов
/ 16 февраля 2012

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

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

Чтобы (надеюсь) было ясно, мой триггер ИСПОЛЬЗУЕТ SP следующим образом:

EXEC SP_UpdateSomeStuff @variable1, @variable2

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

EXEC SP_UpdateSomeStuff @variable1 = 111, @variable2 = 222

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

1 Ответ

1 голос
/ 16 февраля 2012

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

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

...