使用严重性级别创建警报

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 创建在 SQL Server 2014 中发生特定严重性级别的事件时引发的Microsoft SQL Server 代理警报。

本主题内容

在您开始之前

局限性与限制

  • SQL Server Management Studio 提供了一种简单、图形的方式来管理整个警报系统,并推荐用于配置警报基础结构的方法。

  • 使用 xp_logevent 生成的事件发生在 master 数据库中。 因此,xp_logevent 不会触发警报,除非警报的 @database_name'master' 或 NULL。

  • 从 19 到 25 的严重性级别将 SQL Server 消息发送到 Microsoft Windows 应用程序日志并触发警报。 仅当已使用 sp_altermessage、RAISERROR WITH LOG 或 xp_logevent 强制将警报写入 Windows 应用程序日志时,严重级别小于 19 的事件才会触发警报。

安全

权限

默认情况下,只有 sysadmin 固定服务器角色的成员才能执行 sp_add_alert

使用 SQL Server Management Studio

使用严重性级别创建警报

  1. 对象资源管理器中, 单击加号以展开想要使用严重性级别创建警报的服务器。

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

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

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

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

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

  7. 中,将根据提起警报,点击 严重性,然后选择触发警报的特定严重性。

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

  9. 单击 “确定”

使用 Transact-SQL

使用严重性级别创建警报

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

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

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

    -- adds an alert (Test Alert) that runs the Back up the AdventureWorks2012 Database job when fired   
    -- assumes that the message 55001 and the Back up the AdventureWorks2012 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 database will be backed up...',   
       @job_name = N'Back up the AdventureWorks2012 Database' ;  
    GO  
    

有关详细信息,请参阅 sp_add_alert(Transact-SQL)