首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在FastLoadOptions OLE目的地中使用DataFlowTask顺序?

如何在FastLoadOptions OLE目的地中使用DataFlowTask顺序?
EN

Stack Overflow用户
提问于 2022-07-05 12:29:51
回答 1查看 56关注 0票数 0

我正在使用(独立作为DataTools的一部分或作为Visual的扩展)。我在一个Integration项目中。在DataFlowTask中有一个名为"FastLoadOptions“的OLE DB目标的自定义属性。如果对输入数据进行排序(即聚集索引),则可以使用参数"ORDER“。文档给出了

代码语言:javascript
运行
复制
ORDER <column name> ASC|DESC

此语法不起作用。执行时会出现语法错误。

如果我使用无文档的语法

代码语言:javascript
运行
复制
ORDER (<column name> ASC|DESC)

没有错误信息,一切似乎都在说。对于非常大的数据,这个选项可以大大加快传输速度。传输也应该是最小的记录。

该选项是否适用于无文档的语法?是否有可能检查此选项的预期影响?

EN

回答 1

Stack Overflow用户

发布于 2022-07-06 15:14:57

我认为使用括号的第二个语法必须是正确的,特别是在使用多列的情况下。此外,此语法与大容量插入语法:https://learn.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-ver16匹配。

就最低日志记录和性能而言,我建议检查这个表和与ssis和oledb目的地:https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2008/dd425070(v=sql.100)?redirectedfrom=MSDN#summarizing-minimal-logging-conditions相关的部分。

文章中的一些信息是过时的,在新版本中,您不再需要打开跟踪标志610。然而,以下是一些关键的考虑因素:

  • 如果要插入堆,则必须使用TABLOCK。如果存在NC索引,它们将被完全记录。
  • 在上述情况下,并发加载是可能的,因此可以使用平衡数据分发器组件将负载分发到多个OLEDB目的地。
  • 如果要加载聚集索引,请使用TABLOCK和ORDER。
  • 对于SSIS,批处理大小要么是缓冲区的大小,要么是OLEDB目标中的最大插入提交大小设置。这意味着您可能在第一批上获得最小的日志记录,但在此之后将获得完整的日志记录,这取决于具体情况。可以通过将最大插入提交大小设置为0来覆盖此操作。
  • 要知道这些是否有效,您必须使用不同的设置对其进行基准测试。确保负载测试是按照生产过程中的方式设置的。如果prod中的表中有行,请确保负载测试环境中的行是相同的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72869464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档