我遇到了这个奇怪的问题,任何帮助都会非常感激。
我有一个容器,我的SSIS包中有2个数据流任务,数据传输非常庞大。解决问题。
提前感谢您的帮助。
答案 0 :(得分:1)
您正在创建单个事务,并且事务日志正在填满。如果一次移动10000行,则速度可提高10-100倍。您也可以尝试将Maximum Insert Commit Size设置为0或尝试5000并上升以查看对性能的影响。这是在OLE DB目标组件上。根据我的经验,10000行是当前的神奇数字,似乎是最佳点,但当然它非常依赖于行的大小,SQL Server的版本和硬件设置。
您还应该查看目标表上是否有索引,您可以尝试删除索引,加载表并重新创建索引。
答案 1 :(得分:0)
您的目的地恢复模式是什么?完整/简单等...
源和目的地之间是否有任何转换?尝试将源发送到RowCount以确定源可以发送数据的最大速度。您可能也会看到源端减速。
一旦发现减速,行的内容是否有任何差异?例如,最近的行可能在varchar(max)列中有大量文本,而早期行没有使用这些文本。
您的目的地是否在VM上运行?如果是,您是否预先分配了CPU和RAM? SSIS是多线程的,但它不一定会使用每个核心的100%。 VM主机可能与其他VM共享资源,因为SSIS VM未报告所有资源的完全使用情况。