有关可执行过程进度的信息-可能吗?

时间:2018-06-26 22:29:59

标签: sql data-warehouse netezza

我正在写这里,因为我在谷歌搜索时找不到信息。我有一个SQL过程大约需要2个小时才能执行,有时会花费更长的时间,有时甚至会更短。我想知道是否有一个选项可以在执行过程时监视其进度?

致谢

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是建立一个日志表来测量进度,并在过程达到特定行时插入日期时间记录,该表将在过程运行时进行更新。

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