查询MSSQL作业的运行时长 –作业时长监控

SELECT top 1000 j.name AS [作业名],  
        h.step_id AS步骤Id,  
        h.step_name AS步骤名称,  
        h.message AS [作业消息],  
        h.run_date AS [运行日期],  
        h.run_time AS [运行时间],  
        msdb.dbo.agent_datetime(h.run_date,h.run_time)   
                                    AS'作业开始运行时间',  
        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 [运行耗时]  
从msdb.dbo.sysjobhistory h  
        LEFT JOIN msdb.dbo.sysjobs j ON h.job_id = j.job_id  
哪里  
    --- j.name ='作业名称'和作业名称
    --- Run_Date = CAST(CONVERT(VARCHAR(8),GETDATE(),112)AS INT) - 今天执行的作业  
    - -和
     h.run_status = 1  - 执行成功  
ORDER BY h.run_date desc 
        h.step_id AS步骤Id,  
        h.step_name AS步骤名称,  
        h.message AS [作业消息],  
        h.run_date AS [运行日期],  
        h.run_time AS [运行时间],  
        msdb.dbo.agent_datetime(h.run_date,h.run_time)   
                                    AS'作业开始运行时间',  
        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 [运行耗时]  
从msdb.dbo.sysjobhistory h  
        LEFT JOIN msdb.dbo.sysjobs j ON h.job_id = j.job_id  
哪里  
    --- j.name ='作业名称'和作业名称
    --- Run_Date = CAST(CONVERT(VARCHAR(8),GETDATE(),112)AS INT) - 今天执行的作业  
    - -和
     h.run_status = 1  - 执行成功  
ORDER BY h.run_date desc 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值