向操作员通知作业状态

适用于:SQL ServerAzure SQL 托管实例

重要

Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 与 SQL Server 的差异 或 SQL 托管实例中的 SQL 代理作业限制

本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象在 SQL Server 中设置通知选项,以便MICROSOFT SQL Server 代理可以向有关作业的作员发送通知。

准备工作

安全

有关详细信息,请参阅 实现 SQL Server 代理安全性

使用 SQL Server Management Studio

向操作员通知作业状态

  1. 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 展开 SQL Server 代理,展开 作业,右键单击要编辑的作业,然后选择 属性

  3. 作业属性 对话框中,选择 通知 页。

  4. 如果要通过电子邮件通知操作员,请选中 电子邮件,从列表中选择操作员,然后选择以下其中一项:

    • 当作业成功时 - 在作业成功完成后通知操作员。

    • 当作业失败时 - 在作业未成功完成时通知操作员。

    • 作业完成时 通知操作员,无论完成状态如何。

  5. 如果要通过寻呼机通知操作员,请检查 Page,从列表中选择一个操作员,然后选择下列之一:

    • 当作业成功时 - 在作业成功完成后通知操作员。

    • 当作业失败时 - 在作业未成功完成时通知操作员。

    • 作业完成时 通知操作员,无论完成状态如何。

  6. 如果要通过 Net send 通知操作员,请勾选Net send,从列表中选择一个操作员,然后选择以下之一:

    • 当作业成功时 - 在作业成功完成后通知操作员。

    • 当作业失败时 - 在作业未成功完成时通知操作员。

    • 作业完成时 通知操作员,无论完成状态如何。

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

使用 SQL Server 管理对象

向操作员通知作业状态

使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)使用 Job 类。 有关详细信息,请参阅 SQL Server 管理对象(SMO)