Sql-Server

如何為高 IO 錯誤設置電子郵件警報(sql server 錯誤日誌)?

  • October 11, 2021

sql server 錯誤日誌顯示具有以下關鍵字的多個條目:

IO 耗時更長 15 秒

我想為這些錯誤設置電子郵件警報。我為嚴重級別 20 配置了電子郵件警報。為了能夠接收上述 IO 錯誤,我想知道它們的嚴重級別是什麼?

如果它們不屬於任何嚴重級別,那麼如何為此類消息設置電子郵件警報?

錯誤號是 833,因此只需根據該錯誤號設置代理事件警報。但是,預設情況下該數字不會寫入事件日誌,因此您需要先使用 sp_altermessage 進行配置:

EXECUTE sp_altermessage 833, 'WITH_LOG', 'true';  

長 IO 請求是嚴重性 10 錯誤 - 您可以在此處查看資訊:

select * from sys.messages
where   language_id = 1033
       and message_id = 833

首先,您必須將這些錯誤記錄到應用程序日誌中,為此執行 Tibor 在他的答案中發布的腳本。這會將is_event_logged從 0 更改為 1

然後您需要為此錯誤號創建警報:

USE [msdb]
GO

EXEC msdb.dbo.sp_add_alert @name=N'Long IO Requests', 
   @message_id=833, 
   @severity=0, 
   @enabled=1, 
   @delay_between_responses=60, 
   @include_event_description_in=1, 
   @category_name=N'[Uncategorized]', 
   @job_id=N'00000000-0000-0000-0000-000000000000'

並且不要忘記在創建的警報的屬性中添加操作員(將發送警報電子郵件的電子郵件地址)

引用自:https://dba.stackexchange.com/questions/300827