CDC Control Task可以从控制CDC数据同步,比如初始化加载、LSN范围的管理。它可以代替另一种做法,就是通过调用一批CDC函数来完成同样的事情。从SSIS的角度来完成,事情编程简单,和另外两个空间配合起来(CDC Source,和CDC Splitter),仅需配置一些控件参数便可以完成整个数据抽取过程。

CDC Source从启用了CDC的数据表中查询数据

CDC Splitter和Conditional Split组件功能相似。它生成三个数据流分支:Inserts, Updates, and Deletions

加载CDC数据一般来讲需要两个包,一个做initial load,另一个做incremental load。

说到CDC Control Task,需要说明CDC Control Operation属性有4个选项:

1)Mark Initial Load Start: initial load开始时获取start LSN和更新CDC_State变量值

2)Mark Initial Load End:initial load结束时获取start LSN和更新CDC_State变量值

3)Mark CDC Start: 记录CDC范围开始值

4)Get Processing Range: 获取增量加载时的LSN范围值

5)Mark Processed Range:完成增量加载后的LSN范围值

不过经过测试,这里好像有个SSIS的Bug。在按照下面的博客的做法做之后发现运行过程报错

http://www.mattmasson.com/2011/12/cdc-in-ssis-for-sql-server-2012-2/?utm_source=rss&utm_medium=rss&utm_campaign=cdc-in-ssis-for-sql-server-2012-2

报错信息如:Error: "No CDC End (CE) in state variable User::CDC_State.

Google了一下发现很多人和我遇到同样的问题。

搞不懂为什么不行。在MSDN上找到一个相关连接,

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f01a3b64-a0e5-4cb7-880a-e6a54c2875ae/cdc-ssis-2012-cdc-taskcdc-sourcecdc-splitter?forum=sqlintegrationservices

而即便我按里面的ANSWER去做,把CDC Control Operation设置为Get Processing Range,第一遍运行还是报错

第二遍运行才成功

这里有人report了这个问题给微软,不过问题似乎没有得到解答。

https://connect.microsoft.com/SQLServer/feedback/details/743536/cdc-source-in-ssis-not-working-with-initial-load

这里我还是觉得这个东西不太稳定,不如用CDC函数来组合编写CDC加载数据的逻辑

Data Flow ->> CDC Control Task, CDC Source, CDC Splitter的更多相关文章

  1. SSIS的 Data Flow 和 Control Flow

    Control Flow 和 Data Flow,是SSIS Design中主要用到的两个Tab,理解这两个Tab的作用,对设计更高效的package十分重要. 一,Control Flow 在Con ...

  2. SSIS Data Flow 的 Execution Tree 和 Data Pipeline

    一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...

  3. SSIS ->> Control Flow And Data Flow

    In the Control Flow, the task is the smallest unit of work, and a task requires completion (success, ...

  4. 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念

    开篇介绍 在 SSIS Dataflow 数据流中的组件可以分为 Synchronous 同步和 Asynchronous 异步这两种类型. 同步与异步 Synchronous and Asynchr ...

  5. Data Flow ->> Source ->> Error Output ->> Error & Truncation: Ignore Failure, Redirect Now, Fail Component

    Ignore Failure: 当该字段遇到错误时,字段值被设为NULL Redirect Now: 把该行输出到SSIS的Source组件的红色输出线,这时红色输出线应该连接一个可以接受结果集的组件 ...

  6. Data Flow ->> Script Component

    和Control Flow中的Script Task非常类似,不同的是Script Component是Per-Row的执行类型.打个比方,在Script Component中加入两个Output的字 ...

  7. [转]Data Flow How-to Topics (SSIS)

    本文转自:http://technet.microsoft.com/en-us/library/ms137612(v=sql.90).aspx This section contains proced ...

  8. SSIS Data Flow优化

    一,数据流设计优化 数据流有两个特性:流和在内存缓冲区中处理数据,根据数据流的这两个特性,对数据流进行优化. 1,流,同时对数据进行提取,转换和加载操作 流,就是在source提取数据时,转换组件处理 ...

  9. Data Flow的Error Output

    一,在Data Flow Task中,对于Error Row的处理通过Error Output Tab配置的. 1,操作失败的类型:Error(Conversion) 和 Truncation. 2, ...

随机推荐

  1. iptables端口转发

    iptables -t nat -A PREROUTING -d {外网ip}/32 -p tcp -m tcp --dport 4956 -j DNAT --to-destination 10.1. ...

  2. ListView单击单元格 产生其他控件

    以combobox为例. 假如一行里面只有一个combobox. //在类中声明一个控件数组 private ComboBox[] cmds = null; //initview中调用dao组件获得显 ...

  3. android开发 WriteUTF与readUTF 原理

    今晚上写代码玩,用到java.io.RandomAccessFile.writeUTF(String)函数,而文件默认保存为gbk,显然是乱码.突然想起来去看看存储编码规则,就去找了些文章了解writ ...

  4. bzoj 3171 费用流

    每个格拆成两个点,出点连能到的点的入点,如果是箭头指向 方向费用就是0,要不就是1,源点连所有出点,所有入点连 汇点,然后费用流 /********************************** ...

  5. AC自动机学习

    今天包括这一周开始学习AC自动机了,有点晚,但我感觉努努力还来得及.4月份还得认认真真攻图论,加油! 为2个月后的邀请赛及省赛.东北赛做准备. 推荐AC自动机学习地址:http://www.cppbl ...

  6. 【翻译】Sencha Touch2.4 The Layout System 布局

    [翻译]The Layout System 布局 In Sencha Touch there are two basic building blocks: componentsand containe ...

  7. Extjs文本输入框

    var loginForm = Ext.create('Ext.form.Panel', {         title: '单行输入',         renderTo: Ext.getBody( ...

  8. 采用Asp.Net的Forms身份验证时,持久Cookie的过期时间会自动扩展

    原文:http://www.cnblogs.com/sanshi/archive/2012/06/22/2558476.html 若是持久Cookie,Cookie的有效期Expiration属性有当 ...

  9. 【译】使用 Python 编写虚拟机解释器

    [译]如何使用 Python 创建一个虚拟机解释器? 原文地址:Making a simple VM interpreter in Python 更新:根据大家的评论我对代码做了轻微的改动.感谢 ro ...

  10. POJ 2227 The Wedding Juicer (优先级队列+bfs+dfs)

    思路描述来自:http://hi.baidu.com/perfectcai_/item/701f2efa460cedcb0dd1c820也可以参考黑书P89的积水. 题意:Farmer John有一个 ...