Mag*_*ier 4 sql-server sql-server-2008-r2 event-notification alerts
我创建了一个死锁警报,包括向这样的操作员发出通知:
EXEC msdb.dbo.sp_add_alert @name=N'1205 Deadlock',
@message_id=1205,
@severity=0,
@enabled=1,
@delay_between_responses=30,
@include_event_description_in=1,
@database_name=N'myDB',
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000';
Run Code Online (Sandbox Code Playgroud)
此警报已注册用于通知。
它的历史说它从未出现过,尽管它已经存在了几个月并且每天都有多个僵局。我手动创建了一个死锁。它显示在日志文件中。
此警报缺少什么以发出通知?其他通知,例如 18456 Invalid Login 工作正常。
可能是错误 1205 未设置为登录ERRORLOG
。在sys.messages
:
SELECT *
FROM sys.messages
WHERE message_id = 1205;
Run Code Online (Sandbox Code Playgroud)
如果该列is_event_logged
设置为 0,请按以下方式更改:
EXEC master.sys.sp_altermessage
@message_id = 1205,
@parameter = 'WITH_LOG',
@parameter_value = 'true';
Run Code Online (Sandbox Code Playgroud)
该文档的sp_add_alert
描述在此条件下发出警报:
评论
sp_add_alert必须从msdb数据库运行。
在这些情况下,SQL Server 和 SQL Server 应用程序生成的错误/消息会发送到 Windows 应用程序日志并因此引发警报:
- 严重性 19 或更高的sys.messages错误
RAISERROR
使用WITH LOG
语法调用的任何语句- 使用sp_altermessage修改或创建的任何sys.messages错误
- 使用xp_logevent记录的任何事件
归档时间: |
|
查看次数: |
1089 次 |
最近记录: |