SQL Server Alert發(fā)送告警郵件少了的原因
最近突然發(fā)現(xiàn)我們部署在數(shù)據(jù)庫上面的告警(Alert),當(dāng)錯(cuò)誤日志里面出現(xiàn)錯(cuò)誤時(shí),并不是每個(gè)錯(cuò)誤日志都會(huì)發(fā)送郵件出來。如下所示,設(shè)置了告警“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已經(jīng)被禁用)了三次,但是我只收到了一封郵件。特意查看了一下sp_add_alert的官方文檔,才知道出現(xiàn)這個(gè)原因,是因?yàn)閰?shù)@delay_between_responses的值設(shè)置緣故,通過設(shè)置該值,可以防止在在短時(shí)間內(nèi)重復(fù)發(fā)送一些不需要的電子郵件。如上所示,一分鐘內(nèi),即使錯(cuò)誤日志里面出現(xiàn)了大量類似的錯(cuò)誤,也只會(huì)發(fā)送一封告警郵件。其實(shí)只是為了減少發(fā)送告警的頻率,如果你想當(dāng)錯(cuò)誤日志里出現(xiàn)這個(gè)級(jí)別的告警時(shí),都必須發(fā)送告警郵件,可以將其值設(shè)置為0。但是有時(shí)候,如果設(shè)置為0,你會(huì)收到鋪天蓋地的郵件。其實(shí)這個(gè)小問題,只是因?yàn)橐郧皼]有特意留意這個(gè)參數(shù)而已。存粹屬于沒有徹底了解這些功能罷了。
警報(bào)響應(yīng)之間的等待時(shí)間 (以秒為單位)。delay_between_responsesis int, 默認(rèn)值為 0, 這意味著在響應(yīng)之間沒有等待 (每次出現(xiàn)警報(bào)都會(huì)生成響應(yīng))。響應(yīng)可以是在以下兩種形式中的一個(gè), 或者都是:
通過電子郵件或?qū)ず魴C(jī)發(fā)送的一個(gè)或多個(gè)通知。
要執(zhí)行的作業(yè)。
通過設(shè)置此值, 可以防止例如, 在短時(shí)間內(nèi)重復(fù)發(fā)生警報(bào)時(shí)發(fā)送不需要的電子郵件。
參考資料:
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
sql server數(shù)據(jù)庫中raiserror函數(shù)用法的詳細(xì)介紹
這篇文章主要介紹了sql server數(shù)據(jù)庫中raiserror函數(shù)用法的詳細(xì)介紹,raiserror用于拋出一個(gè)異常或錯(cuò)誤,讓這個(gè)錯(cuò)誤可以被程序捕捉到。對(duì)此感興趣的可以了解一下2020-07-07Sql數(shù)據(jù)庫中去掉字段的所有空格小結(jié)篇
這篇文章主要介紹了Sql數(shù)據(jù)庫中去掉字段的所有空格小結(jié)篇,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05比較詳細(xì)的完美解決安裝sql2000時(shí)出現(xiàn)以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。
比較詳細(xì)的完美解決安裝sql2000時(shí)出現(xiàn)以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。...2007-10-10行轉(zhuǎn)列之SQL SERVER PIVOT與用法詳解
這篇文章主要給大家介紹了關(guān)于行轉(zhuǎn)列之SQL SERVER PIVOT與用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SQL SERVER具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09sqlserver實(shí)現(xiàn)oracle的sequence方法
如果在ORACLE里面用慣了Sequence的兄弟們,要在SqlServer里實(shí)現(xiàn)Sequence,就會(huì)發(fā)現(xiàn)沒有現(xiàn)成的Sequence對(duì)象可以Create了。那應(yīng)該怎么辦呢?下面我們?cè)赟QLServer中實(shí)現(xiàn)Sequence2014-01-01