带脚本组件的SSIS平衡数据分发器

时间:2013-01-28 20:22:34

标签: ssis

我们有一个小型数据流任务,可以将表中的行导出到平面文件。

我们为转换操作添加了一个脚本组件(将Varbinary转换为String)。

由于脚本组件需要一段时间,我们决定使用新的Integration Services

Balanced Data Distributor并将导出任务划分为两个更平面的文件。

在执行任务时,似乎BBD没有划分工作量并且没有

以并行模式工作。

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用NTILE并在数据流中创建多个OLE DB源?

以下示例了解如何为2组执行此操作。您当然可以根据需要将源分成多个:

-- SQL Command text for OLE DB Source #1 named "MyGroup NTILE 1"
SELECT v.*
FROM
  (SELECT t.* ,
          NTILE(2) OVER(
                        ORDER BY t.my_key) AS MyGroup
   FROM my_schema.my_table t) v
WHERE v.MyGroup = 1;


-- SQL Command text for OLE DB Source #2 named "MyGroup NTILE 2"
SELECT v.*
FROM
  (SELECT t.* ,
          NTILE(2) OVER(
                        ORDER BY t.my_key) AS MyGroup
   FROM my_schema.my_table t) v
WHERE v.MyGroup = 2;

如果您事先了解所需的最大NTILE数量(比如10),那么您可以提前创建10个OLD DB源。