向操作员分配警报

适用于:SQL ServerAzure SQL 托管实例

重要

Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server 的 T-SQL 区别

本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中向操作员分配 Microsoft SQL Server 代理警报,以便他们可以接收有关作业的通知。

开始之前

限制和局限

  • SQL Server Management Studio 提供一种简单的图形方法来管理整个警报系统。 建议使用 Management Studio 配置警报基本结构。

  • 若要发送响应警报的通知,必须首先配置 SQL Server 代理以发送邮件。 有关详细信息,请参阅 Configure SQL Server Agent Mail to Use Database Mail

  • 如果在发送电子邮件或寻呼通知时出现故障,则该故障将被记录到 SQL Server 代理服务错误日志中。

安全性

权限

只有 sysadmin 固定服务器角色的成员才能向操作员分配警报。

使用 SQL Server Management Studio

为操作员分配警报

  1. “对象资源管理器”中,单击加号以展开包含要向其分配警报的操作员的服务器。

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

  3. 单击加号以展开 “操作员” 文件夹。

  4. 右键单击要为其分配警报的操作员,再选择“属性”,然后选择“通知”页。

  5. 在“operator_name 属性”对话框的“选择页”下,选择“通知”。

  6. “按以下方式查看发送给此用户的通知”下,选择 “警报” 查看发送给此操作员的警报列表或选择 “作业” 查看向此操作员发送通知的作业列表。 选中下列一个或多个复选框来根据需要定义每个通知的通知方法:“电子邮件”、“寻呼程序”或“Net send”

  7. 完成后,单击 “确定”

“使用 Transact-SQL”

为操作员分配警报

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

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

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

    -- adds an e-mail notification for the specified alert (Test Alert)  
    -- This example assumes that Test Alert already exists
    -- and that François Ajenstat is a valid operator name.  
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_add_notification  
     @alert_name = N'Test Alert',  
     @operator_name = N'François Ajenstat',  
     @notification_method = 1 ;  
    GO  
    

有关详细信息,请参阅 sp_add_notification (TRANSACT-SQL)