我们可以同时将多个数据源加载到单个 table 结构中吗?

Can we load multiple data source into single table structure simultaneously?

我知道 2008 已经过时,但需要是与来源无关的需要

我正在使用 SSIS 2008 和 SQL Server 2008 R2,

我的要求是

  1. 在控制流中使用批量加载加载多个源文件数据(每个文件大小为 20 Gig .txt 文件——总共 150 Gig for 5 files apprx)
  2. SQLtable是单表(243列的表数据)

我使用了 SSIS 5 文件批量加载,但它被阻止了很长时间,感谢任何帮助..

为了在加载 table 时获得最佳性能,我们希望通过卡车装载(table 锁)铲入数据。问题是,海湾里只能容纳一辆卡车。否则,如果您希望一次向 table 中提供多个数据,您可能会考虑用铲子将数据全部扔进去——这样,那里可以有 5 个工人,他们的装载不会互相阻塞,但是吞吐量降低。

如果您是企业版,或者您想在标准版上使用 partitioned view 老派,那么您可以并行加载每个 partition/individual table,然后您有 N 个工作进程以磁盘子系统允许的速度和 none 您当前正在经历的争用的速度注入数据。

作为@David Browne points out, SQL Server supports parallel bulk loads to unindexed heap tables

To get BU lock you need to specify the TABLOCK option with each bulk import stream without blocking other bulk import streams

在您的 OLE DB 目标中,这将是快速加载(默认)并选中 Table 锁定复选框。正如 msdn 文章所指出的,目标 table 需要为空,否则锁将是 IX-Tab 而不是 BU-tab

是的,您可以从多个来源加载。我同时从多个来源读取,并使用 fast load 选项写入。