如何将 table 从一个数据库复制到另一个数据库?

How to copy table from one Data Base to another?

我想将一些表从我的 DB1 复制到我的 DB2。 DB1 中的表与 DB2 中的表相同,但表中的数据不同。我想将表从 DB1 复制到 DB2,但要将旧表和数据保留在 DB2 上。我如何使用 Microsoft SQL Server Management Studio 做到这一点?我尝试右键单击并执行导出,但在我必须单击“完成”按钮之前,看起来这只会将所有数据从 DB1 复制到 DB2,我不希望这样。如果有人可以提供帮助,请告诉我。谢谢。

如果您不想修改 table,可以使用另一个名称将它们从 DB1 导出到 DB2。在导出向导中,只需更改目标名称 table。

您想要将 DB1 中的架构和数据合并到 DB2 中吗?

你应该列出确切的要求,即使有了这些信息,问题仍然很模糊。 你想保留什么数据,什么可以吹掉? 你想保留什么模式,你在归档旧的 tables 吗?更改 table 个名称?

如果您实际上是在尝试将 db1 合并到 db2 中,您的问题将在于管理将被重新分配的关系 ID,因为 DB2 可能已经在使用 DB1 中存在的 ID。

如果您想将旧数据保留在目的地 table(或只是更新它),那么您可以使用 Merge:

MERGE INTO db2.dbo.table1 B
USING (
  SELECT *
  FROM db1.dbo.table1) A
ON (A.Column1 = B.Column1 )
WHEN MATCHED THEN
  -- update
WHEN NOT MATCHED THEN
  -- insert new rows
USE db2;

CREATE TABLE table2 LIKE db1.table1;

INSERT INTO table2  
    SELECT * FROM db1.table1;

这也是一种将 table 及其记录复制到另一个数据库的方法。