使用SSIS导入数百万条记录

时间:2011-08-28 15:14:57

标签: sql-server ssis

有关加快导入流程的提示吗?在数据库中有很多联接。

此外,当SSIS任务完成时,通过代码或使用电子邮件通知SSIS处理下一个功能的最佳方式是......?

2 个答案:

答案 0 :(得分:4)

以下是我用来说明从文本文件到SQL Server数据库在3分钟内加载100万行的示例。样本中的包使用SSIS 208 R2创建,并在Xeon单核CPU 2.5GHz和3.00 GB RAM上执行。

Import records on SSIS after lookup

导入大量行的主要瓶颈之一是目标组件。目标组件可以更快地插入行,前面的源或转换组件可以更快地处理行。再次,如果碰巧有像Sort转换这样的组件会有所不同,因为Sort转换会在将其发送到管道之前保留所有要排序的数据。

发送电子邮件取决于您想要做的事情。

  • 如果您需要简单的成功或失败,您只需使用“发送邮件”任务即可。其他选项是您还可以在SQL作业上启用警报通知,从而可以安排程序包定期运行。

  • 如果您需要将更多信息添加到电子邮件中,则可能需要使用“脚本任务”来制定邮件正文。创建邮件正文后,您可以从“脚本任务”中发送邮件或使用“发送邮件”任务。

希望这个示例以及@Nikhil S提供的文章可以帮助您微调您的包。

答案 1 :(得分:2)

This SimpleTalk article讨论了优化数据流任务的方法

将要传输的数据水平分区为N个数据流。其中N是安装ssis的服务器上可用的cpu核心数。 使用ssis缓冲区大小属性进行播放,以确定最适合您的数据类型的设置。