首页 > 解决方案 > 每当其中一个步骤失败时,是否可以为 SQL 作业而不是其步骤组件安排重试?

问题描述

我正在使用SQL Server 2014并且我有一个SQL作业(一个SSIS包含 11 个步骤的包),该作业已安排在每天的特定时间运行。

我知道可以安排每个步骤在该步骤失败时尝试重试。但是,有没有办法为整个SQL作业配置重试,只要作业在过程中的任何步骤失败?也就是说,如果说作业在第 8 步失败,则整个作业从第 1 步再次运行。

标签: sqlsql-serversql-job

解决方案


我能想到的最整洁的解决方案是在您的作业中创建一个错误处理步骤,该步骤将在任何其他步骤失败时执行(更改所有其他步骤的 On Failure 操作以跳转到该步骤)并管理作业的时间表以再次触发在接下来的一分钟,工作结束后。这样,您将在代理处看到作业的执行历史记录。

您必须牢记反复出现的失败,我怀疑您是否希望这项工作无限期地重复。

要配置要触发的作业,您可以添加每分钟触发的计划并在必要时启用/禁用它。如果作业已经在运行,它将不会触发。


推荐阅读