【问题标题】:SQL export to flat file is running faster than the same export in SSIS in a jobSQL 导出到平面文件比作业中 SSIS 中的相同导出运行得更快
【发布时间】:2020-08-07 15:21:51
【问题描述】:

我有一个运行 SSIS 包的工作,它将整个表 (15 G) (select * from table) 导出到一个平面文件中。

完成导出需要 3 小时 - 当我使用导出向导执行相同操作时,只需不到 10 分钟。所以我将导出向导保存为 SSIS 包并通过作业运行它

但它又非常慢。我正在使用 SQL 19,非常感谢任何帮助。

【问题讨论】:

  • 两个包都写入完全相同的位置吗?当您运行导入/导出向导时,您是远程访问服务器还是使用桌面上的 SSMS?
  • 在服务器上,从命令行执行 bcp 需要多长时间? bcp Database.Schema.Table out SomeFile.txt -c -T -S MyServer\Instance
  • 两者都写入同一个位置 - 在服务器上运行而不是远程
  • bcp 和向导一样快
  • @KeithL 是的bcp 通过-t 选项支持不同的字段终止符。当您的用例与 BCP 提供的内容保持一致时,它在将数据输入和输出数据库方面非常出色和快速。

标签: sql performance ssis export


【解决方案1】:

尝试将defaultBufferMaxRows 增加到一个非常大的数字

DefaultBufferSize:默认为 10MB,最大可能为 2^31-1 个字节

DefaultBufferMaxRows:默认为 10000

您可以设置AutoAdjustBufferSize,以便DefaultBufferSize根据@​​987654327@自动计算

在此处查看其他性能故障排除想法

https://docs.microsoft.com/en-us/sql/integration-services/data-flow/data-flow-performance-features?view=sql-server-ver15

【讨论】:

    【解决方案2】:

    看起来当您将包更改为以 32 位而不是 64 位运行时,进程会按照我们预期的方式运行

    谢谢大家的帮助

    【讨论】:

      猜你喜欢
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多