SSIS代理键增量

时间:2017-01-04 06:49:53

标签: ssis data-warehouse star-schema

我使用SSIS为具有代理键(sg)的数据仓库创建星型模式。

我的流程是这样的:

  1. 找到max sg(使用SQL)

  2. 数据流中的
  3. :数据源 - > c#脚本,为最大sg添加+1 - >写到目的地。

  4. 现在,使用固定尺寸,它可以正常工作。每个添加的行都会获得顺序sg。

    然而,当我使用Slowly Changing Dimension并且历史上更新一行时,我得到以下内容:

    sg_key  |  name | city | current_row
    1       |  a    |  X   | true
    2       |  b    |  Y   | true
    3       |  c    |  Z   | false
    4       |  d    |  H   | true
    7       |  c    |  T   | true
    

    现在,如果我错了,请纠正我,但我一直认为SSIS在所有流程任务中一次推送一行,但看起来它首先为所有行生成所有sg_keys,然后发送通过流程更新了一行。

    我是否理解SSISworks的错误方式?我该如何解决?

    干杯, 标记

1 个答案:

答案 0 :(得分:4)

如果您使用SQL Server作为目的地,为什么不使用IDENTITY列? (而不是C#脚本)

https://msdn.microsoft.com/en-us/library/ms186775.aspx

插入新行时,标识会自动增加列。如果您不更新此列,则该值不会更改。

阿诺