首页 > 代码库 > SSIS错误恢复利器:CheckPoint
SSIS错误恢复利器:CheckPoint
大家对使用SSIS做数据接口应该不陌生了吧,没听过的同学得努力补补了。就开发体验和效率来看,SSIS是款非常酷的软件,学会它的基本使用方法还是很有必要的。既然是数据接口就免不了要考虑灾难恢复这样的事情了。还好SSIS为我们提供了OOB的Feature-- CheckPoint,关键时候还是可以抱抱它大腿的。
CheckPoint,SSIS的Failover组件。通过配置SSIS Package的CheckPoint,我们可以非常轻松的保证:不重复执行Control Flow,只在最后出错点继续执行。有这样的灾难恢复机制,我们还能不自信的去面对各种复杂的数据同步需求吗?CheckPoint另外一个难能可贵的地方就是,CheckPoint配置非常的简单,只需修改几个属性就能搞定,咱们也能体验一把甩手程序员的快乐了。
接下来我带大家去看看怎么配置这个CheckPoint,并在一个模拟的数据同步场景中使用CheckPoint去做灾难恢复。
1)开启Packge的CheckPoint机制,我们需要配置Package的如下属性:CheckPointFileName,CheckpointUsage,SaveCheckpoint。
CheckpointFileName是用来指定保存文件的路径,如果Packge在运行的时候出现了错误并中断,那么这个文件将会保持中断时的运行快照。CheckpointUsage用来执行Checkpoint的执行规则,是每次都开启,还是只在Checkpoint文件存在的情况下开启。SaveCheckpoint故名思意了,Checkpoint的关键属性,必须开启。
2)配置Control Flow的Checkpoint属性,它们分别是:FailPackageOnFail,FailParentOnFailure。
FailPackageOnFail是指如果该Control Flow异常了,中断运行,下次再该Control Flow上继续执行。FailParentOnFailure是指如果该Control Flow异常了,中断运行,下次重该Control Flow的parent次执行,如果这个parent里面包含多个control flow并且我们想每次异常都需要重新运行该容器下的所有control flow的话,我们就要设置这个熟悉啦。
我们来做两个小实验吧:1)在Package上开启CheckPoint。2)在开启Checkpoint的package上重复执行序列内的所有Control Flow。
Example 1
首次执行
在出现灾难后再次执行
Example 2
首次执行
在灾难后再次执行