使用SSIS作ETL的过程当中会遇到各类各样的错误,对于一些大数据量的Job失败之后咱们不但愿从新运行,由于从新运行的时间开销是很是大的,咱们只但愿从失败的部分开始运行,这样能够省去不少的时间。
SSIS提供了Checkpoints的功能,能够捕获检查点文件中的从新启动点。失败的容器类型以及功能(例如事务)的实现都会影响在检查点文件中所记录的从新启动点。检查点文件中还捕获变量的当前值。
建立SSIS的时候须要制定 checkpoint文件目录,checkpoint的信息会被保存到这个xml文件。当package运行的时候,SSIS执行下面的步骤执行checkpoints:
1. 建立xml文件测试
2. 记录当前用户定义的变量大数据
3. 记录每个成功的步骤spa
4. 根据状况选择执行下面的一个选项3d
A. 当package因为错误中止,保存checkpoint文件xml
B. 当整个Package执行成功时删除checkpoint文件blog
建立SSIS包以下:事务
1. 配置Checkpoints,有三个选项须要配置CheckpointFileName,CheckpointUsage,SaveCheckpointsget
SSIS 包属性:io
CheckpointFileName: D:\BAC_SSIS_Processing\BOA Reports-Excel\SSIS_CheckPoint.txt
CheckpointUsage: IfExists
SaveCheckpoints: True容器
2. 将使用Checkpoints的每一个Task属性FailPackageOnFailure设置为设置为True
3. 测试失败的情况,能够更改其中一个Task的ForceExecutionResults选项为Failure,这样能够模拟Task失败。
4. 执行一次,失败,在目录下面能够找到自动建立的checkpoint的文件。
5. 修改后从新执行,只从出错task开始执行,checkpoint的文件会被删除。