使用严重级别创建警报

本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中创建一个将在发生特定严重级别的事件时引发的 Microsoft SQL Server 代理警报。

本主题内容

  • 开始之前:

    限制和局限

    安全性

  • 若要使用严重级别创建警报,可使用:

    SQL Server Management Studio

    Transact-SQL

开始之前

限制和局限

  • SQL Server Management Studio 提供了一种易用的图形方式来管理整个警报系统,这也是配置警报基础结构的推荐方式。

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

  • 如果严重级别在 19 到 25 之间,就会向 Microsoft Windows 应用程序日志发送 SQL Server 消息,并触发一个警报。 对于严重级别小于 19 的事件,只有在使用 sp_altermessage、RAISERROR WITH LOG 或 xp_logevent 强制这些事件写入 Windows 应用程序日志时,才会触发警报。

安全性

权限

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

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

使用严重级别创建警报

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

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

  3. 右键单击**“警报”并选择“新建警报”**。

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

  5. 在**“类型”列表中,选择“SQL Server 事件警报”**。

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

  7. 在**“将根据以下条件触发警报”下,单击“严重性”**,然后选择将引发警报的特定严重性。

  8. 选中与**“当消息包含以下内容时触发警报”复选框以将警报限制到特定的字符序列,然后在“消息正文”**中输入关键字或字符串。 最大字符数为 100。

  9. 单击**“确定”**。

用于“返回首页”链接的箭头图标[Top]

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

用于“返回首页”链接的箭头图标[Top]