Как проверить переменные и временные таблицы в сеансе отладки в SSMS 2008? - PullRequest
2 голосов
/ 10 декабря 2010

Я выполняю хранимую процедуру в SQL Server Management Studio 2008 (SSMS). Код создает некоторые табличные переменные, а также временные # таблицы, которые я хотел бы проверить по мере продвижения. Теперь другие локальные переменные, которые я вижу в окне «Locals», и хотя там перечислены переменные таблицы, я не могу видеть их содержимое. Я также хотел бы проверить таблицы # temp, но снова любой оператор select, который я хочу выполнить с ними, должен исходить из того же сеанса, что и код, через который я прохожу.

Возможно ли это в отладчике SSMS 2008?

Ответы [ 3 ]

12 голосов
/ 01 августа 2011

Я построил процедуру , которая будет отображать содержимое временной таблицы из другого соединения с базой данных.(что невозможно с обычными запросами).Обратите внимание, что он использует DBCC PAGE и трассировку по умолчанию для доступа к данным, поэтому используйте его только для целей отладки.

1 голос
/ 19 июля 2012

Что я делаю в сложном процессе, так это добавляю переменную ввода со значением по умолчанию 0 в конец любых переменных, которые я назвал @test. (делая это таким образом, я не буду прерывать любые существующие вызовы в процесс)

Затем в каждой точке, где я могу захотеть увидеть значения табличной переменной или временной таблицы, я помещаю оператор if и даже могу добавить столбец, чтобы я знал, в какой момент я смотрю на таблицу:

IF @test = 1 НАЧАТЬ SELECT 'после обновления поля 3' как TestStep, * FROM #temp END

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

1 голос
/ 10 декабря 2010

Это в значительной степени тот же вопрос, что и этот: Как просмотреть значения табличной переменной во время отладки?

Похоже, что короткий ответ: НЕТ! Это не было реализовано в SSMS 2008.

См. Этот пост в Microsoft Connect: Отладка SQL - все о таблицах: переменные таблицы, #Temp, ## Global Temp, таблицы источника (ввода) и вывода

...