1

我正在对 SSIS CDC 组件的使用进行概念验证。

对于初始负载:到目前为止我得到的是

步骤 1:具有 CDC 控制操作的 CDC 控制任务为:标记初始加载开始步骤 2:将所有源记录加载到目标的数据流步骤 3:具有 CDC 控制操作的 CDC 控制任务为:标记初始加载结束(其余设置为CDC 在步骤 1)

当我第一次运行时......所有数据加载正常。如果运行相同...而不是选择无记录(源没有变化)...它会再次重新加载所有记录...复制。

这是否不检查在步骤 1 中创建的 CDC 状态表。

任何人都可以向我指出好的示例或教程会很棒。

4

2 回答 2

1

是的,我明白了.. 我做错的是我创建了一个包来完成所有初始加载和增量加载。另一件事是我在初始加载后没有为“Mark CDC Start”创建一个步骤。现在我得到了一个包,它完成了完整的初始加载,然后标记 CDC 启动。然后从那里开始我的第二个包做增量加载开始。

于 2013-03-30T00:49:43.363 回答
0

首先,您需要了解 CDC Control Task 仅处理 LSN。它从启用 CDC 的数据库中读取它,并将其保存到指定的变量中,以便后续步骤可以使用它。可选,它可以将值保存到数据库表中,然后后续包执行可以使用它。

步骤 1 和步骤 3 本质上只是分别将一个 LSB 编号置于 CDC 状态,即执行这些步骤时的最大 LSB。在执行初始加载时,可能同时发生其他活动,这两个步骤为我们提供了涵盖初始加载期的 LSB 范围。

初始加载之后的下一次运行应该是增量加载,它使用数据流中的 CDC 源 来检索在初始加载期间发生的事务。

Matt Masson的一篇很棒的文章应该让您了解 CDC。

于 2013-03-29T10:41:32.043 回答