是否可以列出在指定日期执行的所有预定作业?我遇到了一个问题,我不确定昨天的工作是否已执行,以及所有执行的步骤是否都已执行?
答案 0 :(得分:2)
列出在指定日期内开始的所有作业:
declare @date date = getdate()
SELECT
J.job_id,
J.name
FROM msdb.dbo.sysjobs AS J
INNER JOIN msdb.dbo.sysjobhistory AS H ON H.job_id = J.job_id
WHERE run_date = CONVERT(VARCHAR(8), GETDATE(), 112)
GROUP BY J.job_id, J.name
列出指定日期的指定作业的所有步骤及其状态:
declare @date date = getdate()
declare @job_name varchar(50) = 'test'
SELECT
H.run_date,
H.run_time,
H.step_id,
H.step_name,
H.run_status
FROM msdb.dbo.sysjobs AS J
INNER JOIN msdb.dbo.sysjobhistory AS H ON H.job_id = J.job_id
WHERE
run_date = CONVERT(VARCHAR(8), GETDATE(), 112)
AND J.name = @job_name
更多信息here。
答案 1 :(得分:0)
在下面的链接中找到它提供了有关sql作业的所有信息
http://www.mssqltips.com/sqlservertip/2561/querying-sql-server-agent-job-information/