Sql SSIS执行包任务-在子包失败时重试

Sql SSIS执行包任务-在子包失败时重试,sql,ssis,Sql,Ssis,我有一个SSIS包,它调用许多执行ETL操作的执行包任务 是否有办法配置执行包任务,以便它们重试定义的次数(当前,在子包中的一个任务失败时,执行包任务失败。出现这种情况时,我希望在放弃并使父包失败之前重试该任务) 我知道的一个解决方案是为数据库中的每个包设置一个标志,在成功时将其设置为定义的值,并调用for循环容器中的每个包,直到标志成功或计数超过预定义的重试计数 是否有更干净或更通用的方法来执行此操作?是的,将执行包任务放入For循环容器中。定义一个用于计数的变量,一个用于successrun

我有一个SSIS包,它调用许多执行ETL操作的执行包任务

是否有办法配置执行包任务,以便它们重试定义的次数(当前,在子包中的一个任务失败时,执行包任务失败。出现这种情况时,我希望在放弃并使父包失败之前重试该任务)

我知道的一个解决方案是为数据库中的每个包设置一个标志,在成功时将其设置为定义的值,并调用for循环容器中的每个包,直到标志成功或计数超过预定义的重试计数


是否有更干净或更通用的方法来执行此操作?

是的,将
执行包任务
放入
For循环容器中。定义一个用于计数的变量,一个用于successrun指示器,另一个用于MAX_count Constance。在包任务-表达式的属性中,定义

FailPackageOnFailure - False
执行任务后,放入
脚本任务
读/写变量:
成功运行
,脚本:

Dts.Variables["SuccessfulRun"].Value = 1
在For循环的属性中:

InitExpression - @Val_Counter = 0
EvalExpression - @Counter < @MAX_COUNT && @SuccessfulRun == 0
AssingExpression - @Val_Counter = @Val_Counter + 1

但是我还没有测试过这一个…

如果子包的第一次(或第N次,NMaximumErrorCount - Const_MAX_COUNT