如何在没有SSIS包的情况下将数据从一个数据库移动到另一个数据库

本文关键字:数据库 一个 移动 另一个 数据 SSIS 情况下 | 更新日期: 2023-09-27 18:17:44

我有两个数据库A,B在sql server中具有相同数量的表和模式。所有表都包含自动生成的PK,两个数据库都包含自己的数据。

现在我必须将A的所有数据移动到b,因为我想在将来只使用一个数据库

我试图用SSIS包移动它们,但是它用新的pk复制了数据,所以这些密钥被用作FK丢失了那里的引用,数据将会损坏。

请帮助我,我如何移动数据与那里所有的约束和PK,FK一致性。

如何在没有SSIS包的情况下将数据从一个数据库移动到另一个数据库

不使用SSIS的一种简单方法是使用SSMS (SQL Server Management Studio)脚本编写整个数据库,包括模式和数据,然后对目标数据库运行脚本。我已经这样做过很多次了,效果很好。

您可能想要稍微了解一下这个工具(或者至少试用一下)。在我的经验中非常好:

http://www.red-gate.com/products/sql-development/sql-data-compare/

如果您有一个标识列,并且您希望在将值从旧表移动到新表时维护这些值,那么在数据流目的地选中"Keep identity "。如果要在不同服务器上的数据库之间移动数据,那么SSIS是一个非常适合用于此目的的工具。如果您在同一服务器上的数据库之间移动数据,那么您可以为当前会话打开身份插入,将记录插入到新表中,然后关闭身份插入。没有必要丢失当前的键值。

相关文章: