SELECT
r.session_id,
r.status,
r.total_elapsed_time AS elapsed_ms,
r.cpu_time AS cpu_ms,
r.logical_reads,
r.blocking_session_id,
r.wait_type,
r.wait_time AS wait_ms,
SUBSTRING(
t.text,
r.statement_start_offset / 2 + 1,
(
CASE WHEN r.statement_end_offset = -1
THEN DATALENGTH(t.text)
ELSE r.statement_end_offset
END - r.statement_start_offset
) / 2 + 1
) AS current_statement
FROM sys.dm_exec_requests AS r
OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) AS t
WHERE r.session_id <> @@SPID
AND r.database_id = DB_ID();
-- Какой отчёт действительно выполнялся?
SELECT
kodReport, status, startedAt,
nmOrg, region, city, area, postIndex
FROM #PA_Queue
WHERE status = 'RUNNING';
-- Какие этапы этого отчёта уже завершились?
SELECT s.*
FROM #PA_Steps AS s
JOIN #PA_Queue AS q ON q.kodReport = s.kodReport
WHERE q.status = 'RUNNING'
ORDER BY s.kodReport, s.stage;