在SSIS包中使用 Checkpoint从失败处重新启动包
使用SSIS做ETL的过程中会遇到各种各样的错误,对于一些大数据量的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,有三个选项需要配置CheckpointFileName,CheckpointUsage,SaveCheckpoints
将使用Checkpoints的每个Task属性FailPackageOnFailure设置为设置为True
现在我们测试失败的状况,我们可以更改第二个Task的ForceExecutionResults选项为Failure,这样可以模拟Task失败。
执行一次,失败,在目录下面可以找到checkpoint的文件:
将第二个Task的ForceExecutionResults值修改为None,重新执行
可以看到从上次错误的地方执行,只有第二个task执行成功。
主意事项:
不为 For 循环和 Foreach 循环容器保存检查点数据。当重新启动包时,会再次运行 For 循环和 Foreach 循环容器及其子容器。如果循环中的子容器已成功运行,则不会将其记录在检查点文件中,而是重新运行子容器
更多信息参考
ImplementingCheckpoints in an SSIS Package
在SSIS包中使用 Checkpoint从失败处重新启动包的更多相关文章
- 在SSIS包中使用 Checkpoint从失败处重新启动包[转]
使用SSIS做ETL的过程中会遇到各种各样的错误,对于一些大数据量的Job失败以后我们不希望重新运行,因为重新运行的时间开销是非常大的,我们只希望从失败的部分开始运行,这样可以省去很多的时间. SSI ...
- IDEA修改jar包中class文件后重新生成jar包
一.背景 最新想要修改rebeyond大佬的冰蝎项目,特地去网上搜索如何修改jar包中的源码再替换回去的方法,但由于现在的一些文章写的太烂,导致走了很多弯路,因此写下这篇快速使用IDEA修改源码并替换 ...
- python已安装了一个包,但是导入包中的模块时报错没有这个包
执行import sys; print(sys.path)查看python搜索路径,确保自己的模块在python搜索路径中 python的搜索路径与包(package) python的搜索路径其实是一 ...
- Android--------从一个包中的Avtivity创建另外另外一个包的Context
Android中有Context的概念,想必大家都知道.Context可以做很多事情,打开activity.发送广播.打开本包下文件夹和数据库.获取classLoader.获取资源等等.如果我们得到了 ...
- 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类
---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...
- ref:如何在大量jar包中搜索特定字符
ref:https://www.cnblogs.com/jiangxinnju/p/5137760.html?utm_source=tuicool&utm_medium=referral 如何 ...
- 五.dbms_transaction(用于在过程,函数,和包中执行SQL事务处理语句.)
1.概述 作用:用于在过程,函数,和包中执行SQL事务处理语句. 2.包的组成 1).read_only说明:用于开始只读事务,其作用与SQL语句SET TRANSACTION READ ONLY完全 ...
- 使用net.sf.fjep.fatjar插件将第三方JAR包打包进自已的JAR包中
一般单个工程,在没有应用别人的jar包时导出为jar很简单,只要设置一个Main-Class就行了,也就是选择程序入口(main所在类).但是涉及到了数据库或需要用到第三方的JAR,就需要用到相应的数 ...
- cpio - 存取归档包中的文件
总览 (SYNOPSIS) cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message] [-O [[user@]host:]a ...
随机推荐
- codeforces 659D . Bicycle Race 几何
题目链接 对相邻的三个点叉积判断一下就好. #include <iostream> #include <vector> #include <cstdio> #inc ...
- github/python/ show me the code 25题(一)
先上网址 https://github.com/Show-Me-the-Code/show-me-the-code 初学python拿来练手,记住一些常用的库和函数 第 0000 题:将你的 QQ 头 ...
- 升级linux内核(2.6.32->3.10.81),安装docker
1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 ...
- HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()
HTML5提供了两种在客户端存储数据的新方法: localStorage():没有时间限制的数据存储 sessionStorage():针对一个session的数据存储 下面的一个例子用localSt ...
- 供应类型与计划分类一致性检查(INV)
应用 Oracle Inventory 层 Level Function 函数名 Funcgtion Name CUXINVIMM 表单名 Form Name CUXINVIMM 说明 Descrip ...
- android中onStartActivityForResult无返回值问题
在activity间跳转传递参数,常见方法是通过onStartActivityForResult来做.不过今天使用 onStartActivityForResult的时候已经在上一个activity调 ...
- 接口返回json
use Mojolicious::Lite; use JSON qw/encode_json decode_json/; # /foo?user=sri get '/api' => sub { ...
- 柯南君:看大数据时代下的IT架构(9)消息队列之RabbitMQ--案例(RPC起航)
二.Remote procedure call (RPC)(using the Java client) 三.Client interface(客户端接口) 为了展示一个RPC服务是如何使用的,我们将 ...
- python SyntaxError: Non-ASCII character '\xd5' in file
我使用的是python2.7, 在pycharm想运行程序,但是却报出了SyntaxError: Non-ASCII character '\xd5' in file 原因是因为源码中包含了中文注释, ...
- Rikka with Graph(联通图取边,暴力)
Rikka with Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...