适用于:SQL Server
重要
Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 SQL Server Azure SQL 托管实例。
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 创建在 SQL Server 中随特定编号错误一起引发的 Microsoft SQL Server 代理警报。
在您开始之前
局限性与限制
SQL Server Management Studio 提供了一种简单、图形的方式来管理整个警报系统,并推荐用于配置警报基础结构的方法。
使用 xp_logevent 生成的事件发生在 master 数据库中。 因此,xp_logevent 不会触发警报,除非警报的 @database_name 是 'master' 或 NULL。
安全
权限
默认情况下,只有 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)。