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

标签 ssis

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

最佳答案

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

在这里,您会看到 9000 条记录正在移动,因为默认最大行数为 10,000。

来自MSDN

Define the default size of the buffer that the task uses, by setting the DefaultBufferSize property, and define the maximum number of rows in each buffer, by setting the DefaultBufferMaxRows property. The default buffer size is 10 megabytes, with a maximum buffer size of 100 megabytes. The default maximum number of rows is 10,000.

编辑(根据您的评论):

它不起作用,因为您已将查找缓存选项设置为无缓存。要插入/流动所需的行或自定义行(>默认行),请按照以下说明操作。

  • 在查找设置中将缓存模式设置为完全缓存
  • 在查找时使用 OLEDB 连接管理器
  • OLEDB Destination中设置ROWS PER BATCH,如上所述。
  • 在 DataFlow 属性中,将Default BufferMaxRow 设置为您所需的行。

可以正常工作。

关于ssis - 如何增加要查找的数据流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846177/

相关文章:

c# - 如何使用SSIS包将大型数据集拆分为多个Excel电子表格?

sql - 在 SSIS 表达式中,我们如何只存储 getdate() 中的日期

version-control - 将 SSIS 包置于源代码控制之下

sql - 如何在SSIS中同步两个表

.net - SSIS静态代码分析工具

sql-server - 如何从 SSIS 中的 Google Analytics 获取目标名称或目标 ID?

sql - 动态列 - SQL Server - 以月份为列

c# - 如何在ASP.NET中运行SSIS

sql - SSIS 从 Excel 导入错误数量的数据

sql-server-2008 - 在派生列中导入字符串日期