您的位置:首页 > 数据库

SQL Server中如何找出执行时间过长的作业

2016-07-12 16:59 555 查看

查询今天执行时间大于一分钟的作业

SELECT  j.name                        AS Job_Name        ,
h.step_id                     AS Step_Id         ,
h.step_name                   AS Step_Name       ,
h.message                     AS Message         ,
h.run_date                    AS Run_Date        ,
h.run_time                    AS Run_Time        ,
msdb.dbo.agent_datetime(h.run_date, h.run_time)
AS 'RunDateTime' ,
CAST(run_duration / 10000 AS VARCHAR(2)) + N'小时'
+ CAST(( run_duration - run_duration / 10000 * 10000 ) / 100 AS VARCHAR(2)) + N'分钟'
+ SUBSTRING(CAST(run_duration AS VARCHAR(10)),
LEN(CAST(run_duration AS VARCHAR(10))) - 1, 2)  + N'秒'
AS run_duration
FROM    msdb.dbo.sysjobhistory h
LEFT JOIN msdb.dbo.sysjobs j ON h.job_id = j.job_id
WHERE   Run_Date = CAST(CONVERT(VARCHAR(8), GETDATE(), 112) AS INT)  --今天执行的作业
AND h.run_status = 1    --执行成功
AND h.run_duration > 100 --大于一分钟的作业
ORDER BY Job_Name, h.Step_Id


参考资料: SQL Server中如何找出执行时间过长的作业  http://www.studyofnet.com/news/1274.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SQL Server