【问题标题】:Loop 3000 records through SSIS通过 SSIS 循环 3000 条记录
【发布时间】:2018-10-22 06:50:42
【问题描述】:

SSIS 新手可以帮助一次循环 3000 条记录。 我有一张包含数百万条记录的表格。我想一次获取 3000 条记录并加载到新表中。下次我在 SSIS 中运行“FOR 循环任务”时,它需要再循环 3000 条记录。

【问题讨论】:

  • 您不需要这样做,SSIS 内置了批处理,因此您可以一次传输所有批处理,SSIS 控制流将处理吞吐量
  • 在数据流的目标组件中,设置最大提交大小(在您的情况下为 3000)和 Rows Per Batch (1000000)
  • 是的,如果必须在 SSIS 中完成,最好的方法是添加一个 SQL 脚本任务并在那里完成所有工作。

标签: sql-server tsql ssis


【解决方案1】:

for 循环内的数据源应该是自定义 SQL,如下所示

select Top  3000
*
from SourceTable S
left join DestTable D
on S.primarykey=D.primarykey
where D.primaryKey is NULL
order by indexcolumn

【讨论】:

  • 你能解释一下吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 2018-05-16
  • 2013-10-01
  • 1970-01-01
相关资源
最近更新 更多