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
首次运行
在灾难后再次运行