iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQLServer邮件预警
  • 312
分享到

SQLServer邮件预警

2024-04-02 19:04:59 312人浏览 安东尼
摘要

SQLServer 邮件预警 问题: OA 系统向异构系统推送待办时偶尔会出现各种原因导致推送失败,为了避免问题升级,需要管理员第一时间知道推送失败的情况,并手动进行干预。 问题分析:

SQLServer 邮件预警

问题:

OA 系统向异构系统推送待办时偶尔会出现各种原因导致推送失败,为了避免问题升级,需要管理员第一时间知道推送失败的情况,并手动进行干预。

问题分析:

待办推送状态会记录在OA 数据库wx_scanlog 表中,当resultstatus 状态为-1 时表示待办推送失败。

解决方案:

一:SQLServer 触发器

为了及时知道待办推送失败信息,可以使用sqlServer 触发器,当wx_scanlog 表中新增数据时,校验resultstatus 状态值,当值为-1 时,自动发送邮件到指定邮箱。

二:Grafana 查看待办状态

通过Grafana 连接OA 数据库,指定时间间隔查看待办状态,例如如下SQL :

select top 10 scantime , content , resultcontent from wx_scanlog where resultstatus =-1  order by scantime desc ;

一:SQLServer 触发器

https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms189635(v=sql.90)

SQLServer邮件预警 SQLServer邮件预警

过程如下:

-- 下面开始配置 sql 发送电子邮件:

-- 启用 SQL Server 邮件的功能

exec sp_configure 'show advanced options' ,1

Go

reconfigure ;

go

-- 配置选项 'show advanced options' 已从 0 更改为 1 。请运行 RECONFIGURE 语句进行安装。

exec sp_configure 'Database Mail XPs' ,1

go

reconfigure ;

go

-- 配置选项 'Database Mail XPs' 已从 0 更改为 1 。请运行 RECONFIGURE 语句进行安装。

-- 使用下面的语句查看数据库邮件功能是否开启成功和数据库配置信息:

-- 查询数据库的配置信息

select * from sys . configurations

-- 查看数据库邮件功能是否开启, value 值为 1 表示已开启, 0 为未开启

select name , value , description ,

       is_dynamic , is_advanced

from sys . configurations

where name like '%mail%'

---name value   description is_dynamic  is_advanced

---Database Mail XPs    1   Enable or disable Database Mail XPs 1   1

-- 步骤二:

if exists( SELECT * FROM msdb .. sysmail_account WHERE NAME = 'chenmail' )

begin

    EXEC msdb .. sysmail_delete_account_sp @account_name = 'chenmail'

end

exec msdb .. sysmail_add_account_sp     -- 创建邮件账户

        @account_name = 'cjcamail'   -- 邮件帐户名称

       , @email_address = 'chenjuchao163@163.com'    -- 发件人邮件地址  

       , @display_name = 'chenjuchao'      -- 发件人姓名  

       , @replyto_address = null        -- 回复地址

       , @description = null          -- 邮件账户描述

       , @mailserver_name = 'smtp.163.com'    -- 邮件服务器地址

       , @mailserver_type = 'SMTP'        -- 邮件协议

       , @port = 25                  -- 邮件服务器端口  

       , @username = 'chenjuchao163'        -- 用户名  

       , @passWord = '**********'      -- 密码  

       , @use_default_credentials = 0    -- 是否使用默认凭证, 0 为否, 1 为是

       , @enable_ssl = 1        -- 是否启用 ssl 加密, 0 为否, 1 为是

       , @account_id = null  -- 输出参数,返回创建的邮件账户的 ID

-- 步骤三:

if exists( SELECT * FROM msdb .. sysmail_profile where NAME = N'SendEmailProfile0323' ) -- 判断名为 SendEmailProfile0323 的邮件配置文件是否存在

begin  

    exec msdb .. sysmail_delete_profile_sp @profile_name = 'SendEmailProfile0323'  -- 删除名为 SendEmailProfile0323 的邮件配置文件

end

exec msdb .. sysmail_add_profile_sp     -- 添加邮件配置文件

     @profile_name = 'SendEmailProfile0323' ,   -- 配置文件名称    

     @description = ' 数据库发送邮件配置文件 ' ,     -- 配置文件描述      

     @profile_id = NULL        -- 输出参数,返回创建的邮件配置文件的 ID

-- 步骤四:

-- 邮件账户和邮件配置文件相关联  

exec msdb .. sysmail_add_profileaccount_sp   

     @profile_name = 'SendEmailProfile0323' ,   -- 邮件配置文件名称     

     @account_name = 'chenmail' ,    -- 邮件账户名称       

     @sequence_number = 1    -- account 在 profile 中的顺序,一个配置文件可以有多个不同的邮件账户

-- 到这里 sql 发送邮件的配置就基本结束了。下面创建一个触发器实现用户注册成功后,发送邮件给用户。

-- 然后创建一个 insert 类型的 after 触发器:

create trigger undo_fail_cjc_tr

--alter trigger undo_fail_cjc_tr

on wx_scanlog

after insert

as

    declare @errORMsg nvarchar (1000 )

    declare @resultcontent  nvarchar (500 )

    declare @content  nvarchar (500 )

    declare @title    nvarchar (100 )

    declare @xxx      nvarchar (1000 )

    declare @count    int

    declare @id       int

    select @count = COUNT (1 ) from inserted

    select @id = id from inserted

    select @resultcontent =( select CAST ( resultcontent as nvarchar (1000 )) from wx_scanlog where id = @id )

    select @content =( select CAST ( content as nvarchar (1000 )) from wx_scanlog where id = @id )

    set @xxx = 'content 标题如下: ' + @content + CHAR ( 13 )+ 'resultcontent 内容如下: ' + @resultcontent

    --select @msGCode=msgcode,@errormsg=errormsg  from inserted

    -- if(@count>0)

    if (( @count >0 ) and ( select resultstatus from inserted )= '-1' )

    begin

        set @title = 'OA( 正式系统 ) 待办推送 Eanar 失败,请及时处理! '

        exec msdb . dbo . sp_send_dbmail @profile_name = 'SendEmailProfile0323' ,  -- 邮件配置文件名称

                   @recipients = 'cjc@xxx.com' ,        -- 邮件发送地址

                        @subject = 'OA( 正式系统 ) 待办推送 Eanar 失败,请及时处理! ' ,   -- 邮件标题

                   @body = @xxx ,    -- 邮件内容

                   @body_format = 'text'  -- 邮件内容的类型, text 为文本,还可以设置为 html

    end

go

-- 执行上面的语句之后,大概两三秒钟,就会收到邮件了(如果没有出现错误的话)。如果没有收到邮件可以使用下面的语句查看邮件发送情况。

use msdb

go

select * from sysmail_allitems    -- 邮件发送情况,可以用来查看邮件是否发送成功

select * from sysmail_mailitems   -- 发送邮件的记录

select * from sysmail_event_log   -- 数据库邮件日志,可以用来查询是否报错

邮件:

SQLServer邮件预警

二:Grafana 查看待办状态

SQLServer邮件预警

SQLServer邮件预警

SQLServer邮件预警

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!         

SQLServer邮件预警

您可能感兴趣的文档:

--结束END--

本文标题: SQLServer邮件预警

本文链接: https://www.lsjlt.com/news/49574.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQLServer邮件预警
    SQLServer 邮件预警 问题: OA 系统向异构系统推送待办时偶尔会出现各种原因导致推送失败,为了避免问题升级,需要管理员第一时间知道推送失败的情况,并手动进行干预。 问题分析: ...
    99+
    2024-04-02
  • smokeping邮箱预警详细配置
    在SmokePing中配置电子邮件预警,您需要进行以下步骤:1. 打开SmokePing的配置文件,通常位于/etc/smokepi...
    99+
    2023-08-19
    smokeping
  • Grafana邮件报警
    报警是Grafana的一项革命性功能,它让Grafana从一个数据可视化工具变成一个真正的任务监控工具。报警规则可以使用现有的图表控制面板设置,阈值可以通过拖拉右边的线控制,非常简单。Grafana服务器会不断评估设置的规则,在规则条件符合...
    99+
    2023-01-31
    邮件 Grafana
  • zabbix邮件报警python脚本
    下面是两个不同的python脚本,只是连接邮件服务器的方法不同,其他方法还是相同的#!/usr/bin/env python #-*- coding: UTF-8 -*- import smtplib import sys from em...
    99+
    2023-01-31
    脚本 邮件 zabbix
  • zabbix实现Python邮件报警
    zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善。本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接。...
    99+
    2023-01-31
    邮件 zabbix Python
  • 通过python为ZABBIX发告警邮件
    最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本。python代码如下 #!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text impor...
    99+
    2023-01-31
    邮件 python ZABBIX
  • CentOS7.8是如何通过QQ邮箱实现邮件报警
    CentOS7.8是如何通过QQ邮箱实现邮件报警,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。为了实现服务得高可用性,可以使用电子邮件通知服务,当出现问题时能够实现邮件报警从而...
    99+
    2023-06-28
  • 如何解析MySQL prometheus邮件报警配置
    这篇文章给大家介绍prometheus如何配置MySQL邮件报警,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这里介绍一下prometheus的邮件报警配置。alertmanager下...
    99+
    2024-04-02
  • zabbix邮件报警常见问题有哪些
    本篇内容主要讲解“zabbix邮件报警常见问题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zabbix邮件报警常见问题有哪些”吧!使用163邮箱mailx配置文件里的set smtp-a...
    99+
    2023-06-04
  • 如何搭建zabbix监控及邮件报警
    这篇文章主要介绍“如何搭建zabbix监控及邮件报警”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何搭建zabbix监控及邮件报警”文章能帮助大家解决问题。一、zabbix1.1 简介zabbix...
    99+
    2023-07-02
  • 如何实现脚本SSH登录邮件报警
    本篇内容主要讲解“如何实现脚本SSH登录邮件报警”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现脚本SSH登录邮件报警”吧!登录保护是一个非常重要的环节,下面通过图文并茂的方式给大家详细讲...
    99+
    2023-06-09
  • 如何实现告警的邮件通知方式?
    如何在睿象云智能告警平台Cloud Alert中快速实现邮件告警?只需要3个步骤就可以快速实现告警的邮件通知方式: 集成告警 设置分派策略 设置通知策略集成告警:主要是将您的告警平台对接到 Cloud Aler...
    99+
    2023-06-04
  • 基于统计的预警:同环比预警实现深度剖析
    一、UAV预警功能简介UAV.Monitor提供了对全维监控指标的预警功能,各类型的监控指标均可配置预警策略,当预警策略被触发后,可通过邮件、HTTP调用等方式进行通知报警,并会根据预警时间频率等对报警动作进行压制。预警分为流式预警、统计预...
    99+
    2023-06-04
  • sqlserver代理中怎么配置邮件会话
    这篇文章将为大家详细讲解有关sqlserver代理中怎么配置邮件会话,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。目的:利用Sqlserver代理的邮件会话...
    99+
    2024-04-02
  • SpringBoot应用监控带邮件警报的实现示例
    目录1.actor(client)2.admin(server)3.测试1.actor(client) 1.1 pom.xml <xml version="1.0" encod...
    99+
    2024-04-02
  • 邮件服务器如何预防cc攻击
    邮件服务器预防cc攻击的方法定时扫描网络的主节点,寻找可能存在的安全隐患并及时清理。在主节点服务器中配置相关的安全措施,设置防火墙,并做好服务器漏洞防御和服务器权限设置。使用CDN中转服务对服务器的真实IP进行隐藏。接入高防服务,保证服务器...
    99+
    2024-04-02
  • 阿里云服务器预警
    简介 在数字化时代,云计算已经成为了企业和个人的重要工具。阿里云作为中国领先的云计算服务提供商,为用户提供了丰富的云产品和服务。然而,随着云计算的普及,网络安全问题也变得越来越突出。本文将介绍阿里云服务器预警的重要性,并探讨如何通过预警机制...
    99+
    2024-01-20
    阿里 服务器
  • 钉钉开发预警系统
    在使用该系统的过程中,我们可以清晰地看到该系统的工作流程。首先,开发任务管理模块会根据开发任务的紧急程度和重要程度,设置提醒时间。系统会在规定的时间内进行提醒,以保证开发人员和测试人员不会因为时间的问题而影响工作效率。其次,系统会对开发任务...
    99+
    2023-10-28
    预警系统
  • mysql中如何设置监控软件spotlight报警发送邮件功能
    这篇文章主要介绍了mysql中如何设置监控软件spotlight报警发送邮件功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。这里我以spotlight on MySQL为例...
    99+
    2023-06-01
  • python监控日志中的报错并进行邮件报警
    目录前言实现思路实现代码前言 在测试过程中,注意力往往都在功能上,如果功能正常,是基本不会查看日志的,反之会查看日志定位问题。但是表面上的功能正常不能确保日志没有报错,不能确保其他功...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作