如何增加要查找的数据流量

时间:2012-06-01 07:28:48

标签: ssis

在我的包中,我有一个包含大约120000条记录的源表和一个没有缓存模式和目标表的查找转换。我将来自源的与target不匹配的数据传递到同一目标表。当我执行包我可以看到,一次只有9000条记录只移动到lookup.once它插入到目的地,其他9000条记录移动到查找并继续。这只有9000条记录的原因是什么?我试过改变defaultbuffermaxrows和defaultbuffersize分成不同的值,但9000记录只能一次移动。

1 个答案:

答案 0 :(得分:3)

在OLEDB目的地,我们有一个属性ROWS PER BATCH。您可以使用它来更改每批传输的行数。

在这里,你会看到9000条记录,因为默认的最大行数是10,000。

来自MSDN

  

通过设置定义任务使用的缓冲区的默认大小   DefaultBufferSize属性,并定义最大行数   在每个缓冲区中,通过设置DefaultBufferMaxRows属性。该   默认缓冲区大小为10兆字节,最大缓冲区大小为100   兆字节。默认的最大行数为10,000。

编辑(根据您的评论):

由于您已将cache的{​​{1}}选项设为lookup,因此无效。要插入/流动所需行或自定义行(>默认行),请按照以下说明进行操作。

  • 在您的查询设置中,将no cache设为cache mode
  • 在查找中使用Full cache
  • OLEDB Connection manager中设置OLEDB Destination如上所述。
  • 在DataFlow属性中,将ROWS PER BATCH设置为您想要的行。

工作正常。