SQL Server Alert发送告警邮件少了的原因

作者:潇湘隐者 时间:2024-01-27 14:15:38 

最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警“SQL Server Severity Event 14” 


USE [msdb]
GO

IF NOT EXISTS(SELECT 1 FROM msdb.dbo.syscategories WHERE NAME='DBA_MONITORING' AND category_class=2)
BEGIN

EXEC msdb.dbo.sp_add_category
@class=N'ALERT',
@type=N'NONE',
@name=N'DBA_MONITORING' ;

END
GO

IF EXISTS(SELECT name FROM msdb.dbo.sysalerts WHERE name= N'SQL Server Severity Event 14')

EXEC msdb.dbo.sp_delete_alert @name=N'SQL Server Severity Event 14'
GO

EXEC msdb.dbo.sp_add_alert @name=N'SQL Server Severity Event 14',
 @message_id=0,
 @severity=14,
 @enabled=1,
 @delay_between_responses=60,
 @include_event_description_in=1,
 @category_name=N'DBA_MONITORING',
 @job_id=N'00000000-0000-0000-0000-000000000000'
GO

EXEC msdb.dbo.sp_add_notification @alert_name=N'SQL Server Severity Event 14', @operator_name=N'YourSQLDba_Operator', @notification_method = 1
GO

然后我尝试用sa登录(sa已经被禁用)了三次,但是我只收到了一封邮件。特意查看了一下sp_add_alert的官方文档,才知道出现这个原因,是因为参数@delay_between_responses的值设置缘故,通过设置该值,可以防止在在短时间内重复发送一些不需要的电子邮件。如上所示,一分钟内,即使错误日志里面出现了大量类似的错误,也只会发送一封告警邮件。其实只是为了减少发送告警的频率,如果你想当错误日志里出现这个级别的告警时,都必须发送告警邮件,可以将其值设置为0。但是有时候,如果设置为0,你会收到铺天盖地的邮件。其实这个小问题,只是因为以前没有特意留意这个参数而已。存粹属于没有彻底了解这些功能罢了。

SQL Server Alert发送告警邮件少了的原因

SQL Server Alert发送告警邮件少了的原因

警报响应之间的等待时间 (以秒为单位)。delay_between_responsesis int, 默认值为 0, 这意味着在响应之间没有等待 (每次出现警报都会生成响应)。响应可以是在以下两种形式中的一个, 或者都是:
通过电子邮件或寻呼机发送的一个或多个通知。
要执行的作业。
通过设置此值, 可以防止例如, 在短时间内重复发生警报时发送不需要的电子邮件。 

参考资料: 

https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-add-alert-transact-sql

来源:http://www.cnblogs.com/kerrycode/archive/2017/06/21/7060967.html

标签:SQL,Server,Alert
0
投稿

猜你喜欢

  • Python 经典面试题 21 道【不可错过】

    2023-10-29 04:56:20
  • vscode ssh远程连接服务器的思考浅析

    2023-06-05 07:12:05
  • 详解Python 3D引擎Ursina如何绘制立体图形

    2021-11-17 06:04:20
  • 详解如何创建Python元类

    2023-09-20 04:50:15
  • fckeditor 常用函数

    2023-01-25 15:47:11
  • pytorch分类模型绘制混淆矩阵以及可视化详解

    2023-01-17 17:35:43
  • 深入浅析Python 中的sklearn模型选择

    2023-05-15 19:12:00
  • 使用python编写简单计算器

    2023-08-27 17:07:46
  • Access数据库操作中出现的怪现象

    2008-04-24 14:22:00
  • 查看修改MySQL表结构命令

    2024-01-26 03:45:52
  • Python使用Requests请求网页方式

    2022-10-08 06:01:09
  • python中time.ctime()实例用法

    2022-11-09 05:25:32
  • 一文带你探索Golang计时器的奥秘

    2024-02-17 22:35:37
  • asp如何准确获知对方来访问的时间和URL?

    2010-07-07 12:25:00
  • python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例

    2021-04-26 09:11:26
  • 浅谈JavaScript中promise的使用

    2024-04-16 08:55:44
  • asp动态页面生成html页面

    2008-10-24 09:03:00
  • ThinkPHP模板判断输出Empty标签用法详解

    2023-11-14 20:46:54
  • Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例

    2023-05-20 01:36:21
  • python密码错误三次锁定(实例讲解)

    2022-03-02 07:51:23
  • asp之家 网络编程 m.aspxhome.com