Выполнение текущего запроса внутри хранимой процедуры

У меня есть хранимая процедура, которая в настоящее время запущена, и, похоже, зависает/блокируется по конкретному запросу. Как я могу посмотреть, какой запрос? Предпочтительно без изменения proc.

Использование

DBCC Inputbuffer (65)

дает мне

Язык Событие 0 EXEC mySP;

С уважением, Cederlof

Ответ 2

SELECT SUBSTRING(st.text, ( r.statement_start_offset / 2 ) + 1, 
              ( ( CASE WHEN r.statement_end_offset <= 0
                       THEN DATALENGTH(st.text) 
              ELSE r.statement_end_offset END - 
       r.statement_start_offset ) / 2 ) + 1) AS statement_text 
FROM   sys.dm_exec_requests r 
       CROSS APPLY sys.dm_exec_sql_text(sql_handle) st 
WHERE  session_id = 65 

Ответ 3

Использовать SQL Profiler; как следует из названия, это основной инструмент профилирования для SQL Server, и он может отображать время выполнения для каждого оператора внутри процедуры.