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

适用于: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)

另请参阅