将独立数据导入数据库的最佳方法是什么?

时间:2010-05-14 14:11:12

标签: sql-server database import

一点背景:

我有一个远程,独立的SQL Server数据库,在每个周末结束时被截断。数据几乎不是关系数据,根本没有标准化,而且非常烦人。最重要的是,根本无法修改此数据库的架构,因为它是由第三方应用程序重新创建的。在每周销毁数据库之前,会创建该周数据的备份。平均每个数据库将有500,000到2,000,000条记录。

我的任务是创建此数据库的历史版本,该版本是所有这些数据库备份的超集。它应该绑定到包含相关信息集的其他数据库中。我已经开始执行这个任务的应用程序了,我已经达到了能够将数据与我们的其他数据库进行匹配的程度,但我想知道是否有任何处理这种导入的最佳实践。

如何确保在此数据库的历史版本中有唯一ID? SQL Server中是否有任何功能可以为我做一些繁重的工作?

感谢您抽出宝贵时间。

1 个答案:

答案 0 :(得分:1)

SQL Server中肯定有一个可以帮助您的功能,该功能称为SSIS(SQL Server Integration Services)。 SSIS的主要用途之一是ETL(提取,转换,加载),这意味着从多个不同来源提取数据,将其转换为进入目标数据库所需的任何内容(例如数据仓库 - 与现有数据库的任何链接数据也将在此处发生),最后将其加载到目标数据库中。

我认为最好的入门方式,如果这就是你想要的,那就是拿起一本关于SSIS的好书并经历它。在阅读时,不要忘记使用BIDS(商业智能开发工作室 - SQL Server工具之一)来创建一些测试包。 此外,在互联网上你会发现很多“入门”文章。

对于你的情况,我会做的是:

  • 创建一个通用包,可以从源DB(每周一个DB)导入数据并将其插入目标数据库 - 可以使用父包配置对该包进行参数化。
  • 创建一个主程序包,循环遍历某个文件夹中的所有备份,逐个还原它们并为每个还原调用通用导入程序包。每次成功导入后,控制流将删除以前恢复的数据库。

我想我现在已经给你足够的资料进行调查了: - )

祝你好运, 瓦伦蒂诺。