SELECT
[job].[job_id],
[job].[name] AS 'job_name',
[jobstep].[step_id],
[jobstep].[step_name],
[jobhis].[message] AS 'err_mess'--步骤失败的原因
FROM [dbo].[sysjobs] AS job WITH(NOLOCK)
INNER JOIN dbo.[sysjobhistory] AS jobhis WITH(NOLOCK)--run_status=0代表失败步骤
ON ([job].[job_id] = [jobhis].[job_id] AND [jobhis].[run_status] = 0)
INNER JOIN [dbo].[sysjobsteps] AS jobstep WITH(NOLOCK)
ON ([job].[job_id] = [jobstep].[job_id] AND [jobstep].[step_id] = [jobhis].[step_id])
--run_date是步骤执行的时间
WHERE [jobhis].[run_date] = CONVERT(INT, CONVERT(NVARCHAR(8), DATEADD(dd, -1, GETDATE()), 112))
[job].[job_id],
[job].[name] AS 'job_name',
[jobstep].[step_id],
[jobstep].[step_name],
[jobhis].[message] AS 'err_mess'--步骤失败的原因
FROM [dbo].[sysjobs] AS job WITH(NOLOCK)
INNER JOIN dbo.[sysjobhistory] AS jobhis WITH(NOLOCK)--run_status=0代表失败步骤
ON ([job].[job_id] = [jobhis].[job_id] AND [jobhis].[run_status] = 0)
INNER JOIN [dbo].[sysjobsteps] AS jobstep WITH(NOLOCK)
ON ([job].[job_id] = [jobstep].[job_id] AND [jobstep].[step_id] = [jobhis].[step_id])
--run_date是步骤执行的时间
WHERE [jobhis].[run_date] = CONVERT(INT, CONVERT(NVARCHAR(8), DATEADD(dd, -1, GETDATE()), 112))
本文提供了一段SQL查询代码,用于从数据库中检索作业及其步骤的历史记录,特别是那些执行失败的情况。通过连接多个表,该查询能够展示具体的作业ID、名称、步骤ID、步骤名以及失败原因等详细信息。
899

被折叠的 条评论
为什么被折叠?



