在SSIS包中使用 Checkpoint从失败处重新启动包

简介:

使用SSISETL的过程中会遇到各种各样的错误,对于一些大数据量的Job失败以后我们不希望重新运行,因为重新运行的时间开销是非常大的,我们只希望从失败的部分开始运行,这样可以省去很多的时间。

SSIS提供了Checkpoints的功能,可以捕获检查点文件中的重新启动点。失败的容器类型以及功能(例如事务)的实现都会影响在检查点文件中所记录的重新启动点。检查点文件中还捕获变量的当前值

创建SSIS的时候需要制定 checkpoint文件目录,checkpoint的信息会被保存到这个xml文件。当package运行的时候,SSIS执行下面的步骤执行checkpoints

1.     创建xml文件

2.     记录当前用户定义的变量

3.     记录每一个成功的步骤

4.     根据情况选择执行下面的一个选项

A.     package由于错误停止,保存checkpoint文件

B.     当整个Package执行成功时删除checkpoint文件

下面我创建了两个Task,一个data flow紧接着执行一段SQL语句:

 

配置Checkpoints,有三个选项需要配置CheckpointFileNameCheckpointUsageSaveCheckpoints

将使用Checkpoints的每个Task属性FailPackageOnFailure设置为设置为True

现在我们测试失败的状况,我们可以更改第二个TaskForceExecutionResults选项为Failure,这样可以模拟Task失败。

执行一次,失败,在目录下面可以找到checkpoint的文件:

将第二个TaskForceExecutionResults值修改为None,重新执行

 

可以看到从上次错误的地方执行,只有第二个task执行成功。

主意事项:

不为 For 循环和 Foreach 循环容器保存检查点数据。当重新启动包时,会再次运行 For 循环和 Foreach 循环容器及其子容器。如果循环中的子容器已成功运行,则不会将其记录在检查点文件中,而是重新运行子容器

更多信息参考 

通过使用检查点重新启动包

ImplementingCheckpoints in an SSIS Package

Faking successin SSIS


本文转自 lzf328 51CTO博客,原文链接:

http://blog.51cto.com/lzf328/1255415


相关文章
|
Java Maven
运行JAR包 没有主清单属性解决办法
把下面的代码复制粘贴到maven的pom文件中 更新一下即可
|
程序员
【工具使用】Intellij IDEA 自动清除无效 import 包 和 清除无效 import包 的快捷键
【工具使用】Intellij IDEA 自动清除无效 import 包 和 清除无效 import包 的快捷键
1617 0
|
6月前
|
Java Serverless 应用服务中间件
函数计算操作报错合集之JVM启动时找不到指定的日志目录,该如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
网络安全
SNETCracker.exe 2022/1/26 31:13:29----检查12.26.20.1:SSH登录发生异常!未能加载文件或程序集“ChilkatDotNet4.dll”或它的某一个依赖项
SNETCracker.exe 2022/1/26 31:13:29----检查12.26.20.1:SSH登录发生异常!未能加载文件或程序集“ChilkatDotNet4.dll”或它的某一个依赖项
382 0
1分钟解决VS每次运行都显示“正在还原nuget程序包”问题
1分钟解决VS每次运行都显示“正在还原nuget程序包”问题
idea运行@test不能从控制台输入,处于加载状态
idea运行@test不能从控制台输入,处于加载状态
|
存储 Java 开发工具
.iml文件删除导致项目启动失败,报“**类**包不存在”
因为不熟悉iml文件的作用,加上git上是没有提交该文件的,然后看着iml文件一直爆红就很讨厌,就手欠将其删除了,然后项目就各种报,类引用不到,包找不到,项目里的类中引用的类也都爆红,记录下问题的经过。
534 0
.iml文件删除导致项目启动失败,报“**类**包不存在”
|
Arthas Java 测试技术
JAR冲突问题的解决以及运行状态下如何查看加载的类
JAR冲突问题的解决以及运行状态下如何查看加载的类
267 0