使用错误号创建警报
适用于:SQL Server
重要
Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server。
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 创建在 SQL Server 中随特定编号错误一起引发的 Microsoft SQL Server 代理警报。
开始之前
限制和局限
SQL Server Management Studio 提供了一种易用的图形方式来管理整个警报系统,这也是配置警报基础结构的推荐方式。
用 xp_logevent 生成的事件在 master 数据库中发生。 因此,除非警报的 xp_logevent 为 'master' 或 NULL,否则 @database_name 不触发警报。
安全性
权限
默认情况下,只有 sysadmin 固定服务器角色的成员才能执行 sp_add_alert。
使用 SQL Server Management Studio
使用错误号创建警报
在 “对象资源管理器” 中,单击加号以展开要使用错误号创建警报的服务器。
单击加号以展开 “SQL Server 代理”。
右键单击“警报”并选择“新建警报”。
在 “新建警报” 对话框的 “名称” 框中,输入此警报的名称。
选中 “启用” 复选框将运行警报。 默认情况下, “启用” 为选中状态。
在 “类型” 列表中,选择 “SQL Server 事件警报”。
在 “事件警报定义”下的 “数据库名称” 列表中,选择一个数据库以将警报限制到特定数据库。
在 “将根据以下条件触发警报”下,单击 “错误号”,然后为警报键入有效的错误号。 或者,单击 “严重性” ,然后选择将引发警报的特定严重性。
选中与 “当消息包含以下内容时触发警报” 复选框以将警报限制到特定的字符序列,然后在 “消息正文”中输入关键字或字符串。 最大字符数为 100。
单击“确定”。
“使用 Transact-SQL”
使用错误号创建警报
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
-- adds an alert (Test Alert) that runs the Back up -- the AdventureWorks2022 Database job when fired -- assumes that the message 55001 and the Back up -- the AdventureWorks2022 Database job already exist. USE msdb ; GO EXEC dbo.sp_add_alert @name = N'Test Alert', @message_id = 55001, @severity = 0, @notification_message = N'Error 55001 has occurred. The DB will be backed up...', @job_name = N'Back up the AdventureWorks2022 Database' ; GO
有关详细信息,请参阅 sp_add_alert (Transact-SQL)。