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

发布时间 - 2026-01-11 02:00:48    点击率:

最近突然发现我们部署在数据库上面的告警(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,你会收到铺天盖地的邮件。其实这个小问题,只是因为以前没有特意留意这个参数而已。存粹属于没有彻底了解这些功能罢了。

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

参考资料: 

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# SQL  # Server  # Alert发送告警邮件  # Severity  # Event  # 14  # Alert  # 安装SQL server 2005 出现警告 32位ASP.NET已经注册  # 需要注册64位的解决方法  # Sql server 2005安装时ASP.Net版本注册要求警告的解决方法  # SQLSERVERAGENT警告:事件 ID: 312  # 安装SqlServer2005时版本变更检查 (警告)  # win2008下安装SQL SERVER 2005出现IIS功能要求 警告解决方案  # SQL Server 版本变更检查 警告  # 不需要  # 时间内  # 电子邮件  # 所示  # 一封  # 设置为  # 可以防止  # 都是  # 是在  # 是因为  # 看了  # 多个  # 你会  # 两种  # 你想  # 将其  # 只会  # 才知道  # 参考资料  # 铺天盖地 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 青岛网站建设如何选择本地服务器?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Laravel如何实现数据库事务?(DB Facade示例)  如何快速生成可下载的建站源码工具?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Laravel如何实现事件和监听器?(Event & Listener实战)  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  如何在宝塔面板中创建新站点?  JavaScript如何实现倒计时_时间函数如何精确控制  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  简单实现Android验证码  js实现点击每个li节点,都弹出其文本值及修改  EditPlus中的正则表达式 实战(4)  python中快速进行多个字符替换的方法小结  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Python文件异常处理策略_健壮性说明【指导】  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  如何在万网ECS上快速搭建专属网站?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Firefox Developer Edition开发者版本入口  制作电商网页,电商供应链怎么做?  活动邀请函制作网站有哪些,活动邀请函文案?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Android okhttputils现在进度显示实例代码  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  再谈Python中的字符串与字符编码(推荐)  Laravel怎么清理缓存_Laravel optimize clear命令详解  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  js代码实现下拉菜单【推荐】  公司门户网站制作流程,华为官网怎么做?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何正确下载安装西数主机建站助手?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  北京企业网站设计制作公司,北京铁路集团官方网站?  如何在新浪SAE免费搭建个人博客?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何实现API版本控制_Laravel版本化API设计方案  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道