监控失败作业

;WITH j_max
AS
(
    SELECT [RowNum], [JobName], [StepID], [StepName], [StepCommand], [RunStatus], [Message], [RunBeginTime], [RunEndTime]
    FROM
       (
        SELECT ROW_NUMBER() OVER (PARTITION BY j.job_id ORDER BY h.instance_id DESC) AS [RowNum],
               j.name AS [JobName],
               s.step_id AS [StepID],
               s.step_name AS [StepName],
               s.command AS [StepCommand],

               (case  when h.run_status=0 then ‘Failed‘
                when h.run_status= 1 then ‘Succeeded‘
                when h.run_status= 2 then ‘Retry‘
                when h.run_status= 3 then ‘Canceled‘
                else ‘Unknown‘
                end
                ) AS [RunStatus], 

                h.[Message] AS [Message], 

                msdb.dbo.agent_datetime(run_date, run_time) AS [RunBeginTime] ,

                h.run_duration / 10000 * 3600 + (h.run_duration % 10000) / 100 * 60  + h.run_duration % 100 AS [RunDurationScd],

                DATEADD( s,
                         (h.run_duration / 10000 * 3600 + (h.run_duration % 10000) / 100 * 60  + h.run_duration % 100),
                         msdb.dbo.agent_datetime(run_date, run_time)
                        ) AS [RunEndTime] 

          FROM   msdb.dbo.sysjobs j
         INNER JOIN msdb.dbo.sysjobsteps s   ON j.job_id = s.job_id AND j.enabled = 1   --Only Enabled Jobs
         INNER JOIN msdb.dbo.sysjobhistory h ON s.job_id = h.job_id AND s.step_id = h.step_id
                                                  --AND h.step_id <> 0 --一个作业所有步骤的累计时间(注s表中step_id均不为0)
        ) j_max
    WHERE j_max.[RowNum]=1
)

SELECT [RunBeginTime],

       (N‘[192.168.88.125]服务器有Job失败:
        [JobName]:‘ +[JobName]+ N‘,
        [StepName]:‘ +[StepName]+ N‘
        [RunBeginTime]:‘ +CONVERT(CHAR(16), [RunBeginTime], 121) + N‘
        [Message]:‘ +[Message]
        ) AS msgcontent,

       ‘15316967290‘ AS desttermid
  INTO #emap_sm_mt_send
  FROM j_max
 WHERE [RunStatus]=‘Failed‘

 IF EXISTS(SELECT 1 FROM #emap_sm_mt_send WHERE (   DATEDIFF( HH, [RunBeginTime], GETDATE() )<=1
                                                 OR DATEDIFF( HH, [RunBeginTime], GETDATE() )>=24
                                                 )
          )
 INSERT INTO [192.168.1.100].emap_mdao.dbo.emap_sm_mt_send(msgcontent ,desttermid)
 SELECT msgcontent, desttermid
   FROM #emap_sm_mt_send
时间: 2024-08-29 14:29:15

监控失败作业的相关文章

sqlserver 监控自动化作业执行情况

ALTER procedure [dbo].[monitorJob] @name varchar(100) as begin declare @bd varchar(100) ; if exists( select * from  msdb.dbo.sysjobhistory where job_id in (select job_id from msdb.dbo.sysjobs where [name][email protected] ) and run_date=convert(varch

在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败

原文:在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败 问题: 在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败,反之亦然. 分析: 这种情况多数为执行时上下文(Context)安全性问题.在SSMS中执行的时候,T-SQL语句是在当前登录名下运行的.但是作业在SQL Server Agent中是以SQL Server Agent 服务(SQL Server Agent Service accou

C#实现对站点、程序池状态的监控,以及URL能正常返回的监控,状态异常,邮件预警

需求:自动化组提出需要,要对IIS上的站点进行监控,异常停止后报警 需求分析:这站点的运行正常需要多方面的监控,如站点,程序池,资源,所以针对这需求做了三方面的监控. 站点状态的监控 站点对应的程序池的监控 URL的监控,监控url能返回200的状态码 数据库设计: 页面展示: 配置list页 配置Detail页 预警邮件: 核心代码: 配置页面代码 index.cshtml @model IEnumerable<Ctrip.Hotel.QA.Platform.Data.Dao.EnvRunSt

第六篇 SQL Server代理深入作业步骤工作流

本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术上是独立的,但是你可以创建工作流贯穿作业中的各个步骤.在这篇文章中,你将学习如何在作业步骤中使用工作流来改变要执行的操作,单一作业有多个条件可以处理.你也会接触作业步骤安全和作业子系统的更多细节.SQL Server代理步骤如第二篇所述,SQL Server代理作业包含一个或多个作业步骤.每一个作业

C#监控-通过PerformanceCounter实现Process的Cpu占用率以及GC占用监控

监控每个进程占用的cpu,比如任务管理器的进程tab中的CPU 在代码里,可以通过新建PerformanceCounter来建立监控,其对应的Windows中的自带性能分析工具Perfmon 看下该类的定义中,只要有三个概念: categoryName: The name of the performance counter category (performance object) with which this performance counter is associated. count

数据可视化发挥流程的价值——江汽物流数据监控平台建设经验

一年的时间,江汽物流沉淀出一套流程可视化的经验.这里拿出来一同探讨. 关于江汽物流 安徽江汽物流有限公司成立于2013年,主营业务整车物流(采购物流.生产物流.销售物流),车辆管理和维修,客运.出租车及汽车租赁等业务.我们以整车业务.物流业务"两业联动"模式保障物流规划能力.物流运作能力.物流操作能力"三大能力"体系建设,控制两项指标"搞物流及时率""低货物质损率",最终提升客户满意度.目前获得荣誉有国家4A级综合型物流企业和

Debian 系统安装 Nagios 服务器监控端

安装apt-get updateapt-get install nagios* perlapt-get install --no-install-recommends pnp4nagiosapt-get install apache2 apache2-utils php5 php-pear 修改npcd设置# vim /etc/default/npcdRun="yes"# service npcd start 添加process_perfdata.pl执行权限chmod +x /usr

Zabbix 监控tomcat web

个人博客:https://blog.sharedata.info/ 在zabbix监控web,web容器是tomcat 默认的端口是8080导致web监控失败!不能找到主机因此在修改tomcat 端口为80此时需要使用root用户启动才能去监听80端口因此为了方面80端口访问,需要通过防火墙转发来访问80端口转发到8080解决方案:ptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建)

具体案例:局域网内有两台主机,一台Linux.一台Windows,现在需要配置一台Cacti监控服务器对这两台主机进行监控环境说明:1.Linux主机操作系统:CentOS 6.2IP地址:192.168.21.164子网掩码:255.255.255.0网关:192.168.21.2DNS:8.8.8.8 8.8.4.42.Windows主机操作系统:Windows Server 2003IP地址:192.168.21.130子网掩码:255.255.255.0网关:192.168.21.2DN