列出在指定日期内执行的所有作业?

时间:2012-12-09 16:48:59

标签: sql sql-server sql-server-2008

是否可以列出在指定日期执行的所有预定作业?我遇到了一个问题,我不确定昨天的工作是否已执行,以及所有执行的步骤是否都已执行?

2 个答案:

答案 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/