Информация о ходе выполнения исполняемой процедуры - возможно? - PullRequest
0 голосов
/ 27 июня 2018

Я пишу здесь, так как мне не удалось найти информацию во время поиска в Google. У меня есть процедура SQL, которая занимает около 2 часов, иногда дольше, а иногда короче. Мне было интересно, есть ли возможность отслеживать ход выполнения процедуры во время ее выполнения?

Привет

1 Ответ

0 голосов
/ 27 июня 2018

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

CREATE TABLE MONITOR
(
ID INT IDENTITY(1,1) NOT NULL,
STEP_NUMBER INT,
EXECUTION_DT DATETIME
)

CREATE PROC SPX_MEASURE_PROGRESS

AS

WAITFOR DELAY '00:00:05'
INSERT INTO MONITOR VALUES(1,GETDATE())
PRINT 'STEP 1'
WAITFOR DELAY '00:00:05'
PRINT 'STEP 2'
INSERT INTO MONITOR VALUES(2,GETDATE())
WAITFOR DELAY '00:00:05'
PRINT 'STEP 3'
INSERT INTO MONITOR VALUES(3,GETDATE())


EXEC DBO.SPX_MEASURE_PROGRESS

SELECT * FROM MONITOR

enter image description here

...