Sql Server 监控 Job 执行情况

为解决数据库job执行不健康的问题,本文介绍了一个集成于公司后台的job执行报表功能,通过SQL语句从sysjobhistory和sysjobs表中获取job运行状态信息,实现每日监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 由于最近数据库的部分job总是不能十分健康的执行,而监控起来只能登陆db服务器去查看错误日志,维护起来十分麻烦,并且job一般都是比较重要的,比如备份数据库或者清理数据库等等。网站这边,经常由于清理job不能正常执行,造成数据库空间在几天内增加 2G - 3G 左右,最后排查发现,是由于执行清理的sql语句执行超时而至。所以,做了一个job执行报表的功能,集成于公司的后台,和 错误日志放在了一起,这样就能每天方便的监控了。

下面是用到的SQL 语句:

select top 150 a.run_date,a.run_time, b.name,step_id,step_name,a.message,a.run_status,a.run_duration
                                from msdb.dbo.sysjobhistory a ,msdb.dbo.sysjobs b
                                where a.job_id=b.job_id and name not in('job_exclude') and a.step_id>0
                                order by run_date desc

该功能主要用到了 msdb.dbo.sysjobhistory 和 msdb.dbo.sysjobs 两张 job 系统表

job_exclude:是一些执行十分频繁的job,可以排除掉,比如5分钟执行一次等,监控没有太大的意义

下面是功能图:


其实对于 db 的维护,可以有其他更多更好的途径,稍后会考虑用网页的方式来监控 数据库 健康信息,如磁盘占用空间等等,这样能和内部后台紧密联系,便于监控

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值