设置作业步骤的成功流或失败流

适用于:SQL ServerAzure SQL 托管实例

重要

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

创建 Microsoft SQL Server 代理作业时,可以指定如果在作业执行期间发生故障,SQL Server 应执行什么操作。 根据每个作业步骤的成功或失败确定 SQL Server 应执行的操作。 然后通过 SQL Server 代理使用以下过程配置作业步骤的操作流逻辑。

开始之前

安全性

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

使用 SQL Server Management Studio

设置作业步骤的成功流或失败流

  1. 对象资源管理器中,展开 “SQL Server 代理”,然后展开 “作业”

  2. 右键单击要编辑的作业,然后选择“属性”。

  3. 选择“步骤”页,选择一个步骤,然后选择“编辑”。

  4. “作业步骤属性” 对话框中,选择 “高级” 页。

  5. 在“成功时要执行的操作”列表中,选择作业步骤成功完成时要执行的操作。

  6. 在“重试次数”框中输入介于 0 到 9999 之间的次数,应将作业步骤重复该次数,然后才能认为其失败。 如果在“重试次数”框中输入的值大于 0,则应在“重试间隔(分钟)”框中输入介于 1 到 9999 之间的分钟数,必须经过该间隔后才能重试作业步骤。

  7. 在“失败时要执行的操作”列表中,选择作业步骤失败时要执行的操作。

  8. 如果作业是一个 Transact-SQL 脚本,则可以从下列选项中进行选择:

    • “输出文件” 框中,输入要将脚本输出写入的输出文件名。 默认情况下,每次执行作业步骤时都覆盖该文件。 如果不希望覆盖输出文件,请选中“将输出追加到现有文件”。

    • 如果希望将作业步骤记录到一个数据库表中,请选中 “记录到表” 。 默认情况下,每次执行作业步骤时都覆盖该表的内容。 如果不希望覆盖表内容,则请选中“将输出追加到表中的现有条目”。 在执行作业步骤后,您可以通过单击 “查看”来查看此表的内容。

    • 如果希望将输出包括在步骤的历史记录中,请选中 “在历史记录中包含步骤输出” 。 仅当没有错误时,才会显示输出结果。 此外,输出可能会被截断。

  9. 如果 “作为以下用户运行” 列表可用,则选择具有作业要使用的凭据的代理帐户。

“使用 Transact-SQL”

设置作业步骤的成功流或失败流

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

  2. 在标准栏上,选择“新建查询” 。

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

    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @on_success_action = 1;  
    GO  
    

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

使用 SQL Server 管理对象

设置作业步骤的成功流或失败流

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

另请参阅