我想将一些日志提取到报告中,以便获取夜间运行的 SQL_Agent_Jobs 状态。如果作业失败,那么我想在表中接收错误日志。我试图通过以下查询获取该信息:
DECLARE @job_id UNIQUEIDENTIFIER
SELECT
@job_id = job_id FROM msdb.dbo.sysjobs
WHERE
[name] like '%JOB_1%'
OR [name] like '%JOB_2%'
OR [name] like '%JOB_3%'
OR [name] like '%JOB_4%'
OR [name] like '%JOB_5%'
;WITH Error_Output (job_id, error_log) AS
(
SELECT
JS.job_id,
CASE
WHEN JSL.[log] IS NULL THEN JH.[Message]
ELSE JSL.[log]
END AS LogOutput
FROM
msdb.dbo.sysjobsteps JS
INNER JOIN msdb.dbo.sysjobhistory JH
ON JS.job_id = JH.job_id AND JS.step_id = JH.step_id
LEFT OUTER JOIN msdb.dbo.sysjobstepslogs JSL
ON JS.step_uid = JSL.step_uid
WHERE
INSTANCE_ID >
(SELECT …
Run Code Online (Sandbox Code Playgroud)