如何在具有不同表结构的数据库之间复制数据?

时间:2014-01-16 08:14:54

标签: sql sql-server database data-migration

我开始知道如何将数据从一个服务器中的一个数据库复制到另一个数据库,来自此Transfer data from one database to another database以及来自此Copy table to a different database on a different SQL Server的不同服务器之间,但我想从一个数据库中复制数据数据库到另一个具有不同表结构的数据库。

我将用一个例子解释我的要求。

考虑一个表包含患者的基本信息,例如 FirstName,LastName,Gender,Contact,Address,OpShortNotice,HasDiabetes,HasBloodPressure 等。

源数据库中,它有一个名为患者的表,并包含以上所有字段,其中目标数据库中包含 FirstName名为患者人 OpShortNotice,HasDiabetes,HasBloodPressure 的字段中的姓氏,姓名,联系人,地址字段>。那么如何将数据从源数据库复制到目标数据库?

与上面的简单示例场景一样,我有许多表和大量数据要迁移。截至目前,我的源和目标位于同一台服务器上,以便对数据迁移进行跟踪,但我的未来需求绝对是针对不同的服务器。

请,任何人都可以帮助我使用脚本或满足我要求的任何特定工具来完成此任务。

提前谢谢你。

2 个答案:

答案 0 :(得分:1)

SQL Server集成服务专门用于执行此操作。

它主要用于数据仓库,其中数据来自一个(或多个)数据库,并存储在另一个设计不同的数据库中。

在数据仓库的情况下,第二个数据库通常用于更好的数据检索和报告访问,而不太关注规范化。

这个过程通常会使用中介来进行多阶段转换

此过程通常称为ETL(Extract transform and Load)

答案 1 :(得分:0)

在这种情况下,您可能需要设置一个中间("翻译")数据库,其中包含来自双方的数据结构以及从源加载数据,转换它然后保存数据的软件在临时区域,您可以在其中检查转换过程的结果。

如果输出看起来不错,您可以将其加载到目标系统中。