将表从一个数据库复制到另一个数据库
我刚刚在我的机器上创建了一个空数据库。我现在希望将我们的服务器数据库中的表复制到本地数据库。将表从一个数据库复制到另一个数据库
我需要运行哪些sql命令来执行此操作?我希望创建新表,从旧表中复制数据并将其插入到新表中。
Create a linked server到源服务器。最简单的方法是在Management Studio中右键单击“Linked Servers”;它位于管理 - >服务器对象下。
然后你就可以使用4部分组成的名称,server.database.schema.table
复制表:
select *
into DbName.dbo.NewTable
from LinkedServer.DbName.dbo.OldTable
这都将创建具有相同的结构,原来的一个新的表和数据复制过来。
+1只有答案考虑到这些数据库是在**不同的**服务器上! –
如果您使用SQL Server 2000和2012+,将无法工作https://connect.microsoft.com/SQLServer/feedback/details/731869/using-sqlncli10-to-create-a-linked-server-to- sql-server-2000-causes-a-fault – sojim2
这里SQL Server 2000和2012+的解决方案(回答最高票数,而不是标记的答案):http://*.com/questions/187770/copy-tables-从一个数据库到另一个在SQL服务器 – sojim2
SELECT ... INTO:
select * into <destination table> from <source table>
假设他们是在同一台服务器,试试这个:
SELECT *
INTO SecondDB.TableName
FROM FirstDatabase.TableName
这将创建一个新表,只是将数据从FirstDatabase.TableName
复制到SecondDB.TableName
并不会创建外键或索引。
最快的方法是使用RazorSQL或Toad这样的工具。
假设您需要表的不同名称。
如果您使用PHPmyadmin,则可以在菜单中使用它们的SQL选项。然后,您只需复制第一个表中的SQL代码并将其粘贴到新表中。
当我从本地主机移动到虚拟主机时,这对我有用。 希望它适合你!
对于非常大的表,其SQL代码将是一个复制和粘贴的痛苦,PHPmyadmin的**导入**和**导出**菜单可以很容易地用作好。 – tmnol
INSERT INTO ProductPurchaseOrderItems_bkp
(
[OrderId],
[ProductId],
[Quantity],
[Price]
)
SELECT
[OrderId],
[ProductId],
[Quantity],
[Price]
FROM ProductPurchaseOrderItems
WHERE OrderId=415
如果需要整个表结构(不只是基本的数据布局),使用Task>Script Table As>Create To>New Query Window
并在新的数据库上运行。然后,您可以在闲暇时复制数据。
如果在两个数据库之间不断迁移,那么插入到已经存在的表结构中是一种可能性。如果是这样,那么:
使用以下语法:
insert into DESTINATION_DB.dbo.destination_table
select *
from SOURCE_DB.dbo.source_table
[where x ...]
如果迁移表(或外键约束的表)的很多,我建议:
- 与生成脚本高级选项/脚本数据类型:仅数据或
- 使用第三方工具的度假村。
希望它有帮助!
另一种可用于将表从源数据库复制到目标数据库的方法是SQL Server导出和导入向导,该向导在SQL Server Management Studio中可用。
您可以选择从源数据库导出或从目标导入,以便传输数据。
如果您安排复制与表格关系和订单无关的表格,此方法是将表格从源数据库复制到目标数据库的快速方法。
使用此方法时,表的索引和键将不会传输。如果您有兴趣复制它,则需要为这些数据库对象生成脚本。
如果这些是外键,将这些表连接在一起,则需要按正确的顺序导出数据,否则导出向导将失败。
随意阅读更多关于这种方法,以及有关一些方法(包括生成脚本,SELECT INTO和第三方工具),在这篇文章中: https://www.sqlshack.com/how-to-copy-tables-from-one-database-to-another-in-sql-server/
您可以创建一个SQL INSERT脚本。请参阅http://*.com/questions/7515110/create-sql-insert-script-with-values-gathered-from-table – mhenry1384