将表从一个数据库复制到另一个数

Baz*_*Baz 17 sql sql-server

我刚刚在我的机器上创建了一个空数据库.我现在希望将一个表从我们的服务器数据库复制到这个本地数据库.

我需要运行哪些sql命令才能执行此操作?我希望创建新表,从旧表复制数据并将其插入新表.

And*_*mar 26

创建到源服务器的链接服务器.最简单的方法是右键单击Management Studio中的"链接服务器"; 它位于Management - > Server Objects下.

然后,您可以使用由4部分组成的名称复制表格server.database.schema.table:

select  *
into    DbName.dbo.NewTable
from    LinkedServer.DbName.dbo.OldTable
Run Code Online (Sandbox Code Playgroud)

这将创建具有与原始表相同结构的新表并复制数据.

  • 考虑到这些数据库位于不同的**服务器上,只能回答+1! (2认同)

Mah*_*mal 7

假设它们位于同一服务器中,请尝试以下操作:

SELECT *
INTO SecondDB.TableName
FROM FirstDatabase.TableName
Run Code Online (Sandbox Code Playgroud)

这将创建一个新表,只是从复制数据FirstDatabase.TableNameSecondDB.TableName并不会创建外键或索引.


D.B*_*sch 7

另一种可用于将表从源数据库复制到目标数据库的方法是SQL Server导出和导入向导,该向导可在SQL Server Management Studio中使用.

您可以选择从源数据库导出或从目标数据库导入以传输数据.

如果您安排复制与表的关系和订单无关的表,则此方法是将表从源数据库复制到目标数据库的快速方法.

使用此方法时,不会传输表的索引和键.如果您对复制它感兴趣,则需要为这些数据库对象生成脚本.

如果这些是外键,将这些表连接在一起,则需要以正确的顺序导出数据,否则导出向导将失败.

在本文中,请随意阅读有关此方法的更多信息,以及更多方法(包括生成脚本,SELECT INTO和第三方工具):https: //www.sqlshack.com/how-to-copy-tables-从-一个数据库到另一个功能于SQL服务器/


ale*_*oot 6

选择...... INTO:

select * into <destination table> from <source table>
Run Code Online (Sandbox Code Playgroud)


skp*_*aik 5

INSERT INTO ProductPurchaseOrderItems_bkp
      (
       [OrderId],
       [ProductId],
       [Quantity],
       [Price]
      )
SELECT 
       [OrderId],
       [ProductId],
       [Quantity],
       [Price] 
FROM ProductPurchaseOrderItems 
   WHERE OrderId=415
Run Code Online (Sandbox Code Playgroud)


use*_*866 5

如果在两个数据库之间不断迁移,则插入已存在的表结构是可能的.如果是这样,那么:

使用以下语法:

insert into DESTINATION_DB.dbo.destination_table
select *
  from SOURCE_DB.dbo.source_table
[where x ...]
Run Code Online (Sandbox Code Playgroud)

如果迁移大量表(或具有外键约束的表),我建议:

  • 使用高级选项/脚本数据类型生成脚本:仅数据或
  • 度假村使用第三方工具.

希望能帮助到你!