sql-server - 使用 SSIS 导入数百万条记录

标签 sql-server ssis

有什么加快导入流程的技巧吗?数据库中有很多连接。

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

最佳答案

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

Import records on SSIS after lookup

导入大量行的主要瓶颈之一是目标组件。目标组件插入行的速度越快,前面的源或转换组件处理行的速度就越快。同样,如果您碰巧有像排序转换这样的组件,那么情况会有所不同,因为排序转换会在将数据发送到管道之前保留所有要排序的数据。

发送电子邮件取决于您想要执行的操作。

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

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

希望该示例以及 @Nikhil S 提供的文章能够帮助您微调您的包。

关于sql-server - 使用 SSIS 导入数百万条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221786/

相关文章:

sql-server - 获取重复项真的是一个糟糕的查询还是糟糕的数据库设计?

sql-server - 传递存储过程的输出参数时执行 SQL 任务时出现错误 "The batch could not be analyzed because of compile errors in ssis"

sql - SSIS:以编程方式生成创建表 DDL

sql-server - 如何在SSIS中使用PDF文件作为数据源

sql-server - 从 Postgres 迁移到 SQL Server 2008

ssis - 如何在SSIS中的执行进程任务上运行perl脚本

mysql - SUBSTRING_INDEX' 错误

sql-server - SQL 按日期范围内的频率进行分组

sql - 删除 SQL Server 表数据中的空格

sql - "Version"是 TRANSACT-SQL 中的保留字吗? (显示蓝色但不在保留字列表中)