使用错误号创建警报

适用于: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

使用错误号创建警报

  1. “对象资源管理器” 中,单击加号以展开要使用错误号创建警报的服务器。

  2. 单击加号以展开“SQL Server 代理”。

  3. 右键单击 警报 并选择 新警报

  4. 新建警报 对话框的 名称 框中,输入此警报的名称。

  5. 选中 “启用”复选框,使警报能够运行。 默认情况下,选中“启用”。

  6. 类型 列表中,选择 SQL Server 事件警报

  7. 事件警报定义下,在 数据库名称 列表中,选择一个数据库以将警报限制为特定数据库。

  8. “将根据以下条件触发警报”下,单击 “错误号”,然后为警报键入有效的错误号。 或者,单击 “严重性” ,然后选择将引发警报的特定严重性。

  9. 选中与 引发警报对应的框(当消息包含 复选框)以将警报限制为特定字符序列,然后输入 消息文本的关键字或字符串。 最大字符数为 100。

  10. 单击 “确定”

使用 Transact-SQL

使用错误号创建警报

  1. “对象资源管理器” 中,连接到某个数据库引擎实例。

  2. 在标准栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行

    -- 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)