使用错误号创建警报

适用于:SQL ServerAzure SQL 托管实例

重要

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

使用错误号创建警报

  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)