我是SSIS的新手...... 我升级了一个包(从2008到2010 Visual Studio),它连接到一个平面文件并将数据转储到一个新表中。 我每5分钟收到大约25个文件。 问题是,在包中,连接到一个文件需要超过15秒,但传输速度很快。由于速度很慢,因此有大量文件未经处理。 我的问题是如何让它更快?
我认为升级是一个问题,所以我做了一个全新的包。然后我尝试连接两个数据库,即使连接时间相同。
答案 0 :(得分:0)
您所描述的内容听起来并不像连接问题,但更多的是文件的开头被读取并加载到缓冲区中。需要考虑的事情是:
一些基本的调整步骤是: - 确保平面文件连接上的列大小准确(并且不是全部设置为字符串(500)或类似的东西)。这会直接影响一次处理多少行 - 增加数据流中的DefaultMaxBufferRows和DefaultBufferSize以增加每个缓冲区的行数 - 确保将oledb目标设置为快速加载。如果要加载堆,请确保启用了tablock。如果要加载聚簇索引并且有多个流将更新同一个表,请确保未启用tablock,否则您将自行阻止。在这种情况下,我会考虑重新设计顺序加载或使用多文件源的方法。