Notify an Operator of Job Status

适用于SQL Server Azure SQL 托管实例

重要

Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server 的 T-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. 如果您想通过寻呼程序来通知操作员,请选中 “寻呼程序”,再从列表中选择操作员,然后选择下列选项之一:

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

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

    • 当作业完成时 ,无论完成情况如何,都通知该操作员。

  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)