Как просмотреть параметры запущенных в настоящий момент процедур в SQL Server 2008 - PullRequest
8 голосов
/ 10 января 2011

Я пытаюсь устранить проблему, которая появляется на нашем новом SQL Server.При просмотре запущенных процессов (sp_who2) я не могу сказать, с какими параметрами запущен процесс.

Я могу найти имя процесса, используя: DBCC INPUTBUFFER (spid)

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

(http://sqlserverpedia.com/blog/sql-server-bloggers/sql-server-%E2%80%93-get-last-running-query-based-on-spid/)

Я знаю, что вижу параметры, если выполняю трассировку, но в этом случае это не помогает.

Ответы [ 3 ]

6 голосов
/ 11 января 2011

Вам нужно проверить SP_WhoisActive Адама Мачаника, он дает вам всю необходимую информацию и весь запрос в xml, так что вы можете просто щелкнуть по нему и посмотреть, что работает.
http://whoisactive.com

0 голосов
/ 11 января 2011

Можете ли вы изменить сохраненный процесс для регистрации параметров? Возможно вставить в таблицу параметры для диагностики?

0 голосов
/ 11 января 2011

Редактировать: Я нашел этот интересный код: select dest.* from sys.dm_exec_requests as der cross apply sys.dm_exec_sql_text (der.sql_handle) as dest where session_id = @spid. Пожалуйста, попробуйте.

http://msdn.microsoft.com/en-us/library/ms181929%28v=SQL.100%29.aspx

Похоже, вы не можете сделать это без следа. Еще несколько постов с похожим вопросом: Можно ли полностью захватить параметризованные запросы с помощью DBCC INPUTBUFFER?

Вы можете использовать DBCC INPUTBUFFER (spid), но только если sp запускается из SSMS.

Посмотрите на это http://sqlblog.com/tags/Who+is+Active/default.aspx. Если вы не можете добавить этот sp в свой ящик, будет полезный код.

Редактировать: Показывает только то, что выполняется оператор вашего sp, а не параметры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...