我刚刚在我的机器上创建了一个空数据库.我现在希望将一个表从我们的服务器数据库复制到这个本地数据库.
我需要运行哪些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)
这将创建具有与原始表相同结构的新表并复制数据.
假设它们位于同一服务器中,请尝试以下操作:
SELECT *
INTO SecondDB.TableName
FROM FirstDatabase.TableName
Run Code Online (Sandbox Code Playgroud)
这将创建一个新表,只是从复制数据FirstDatabase.TableName到SecondDB.TableName并不会创建外键或索引.
另一种可用于将表从源数据库复制到目标数据库的方法是SQL Server导出和导入向导,该向导可在SQL Server Management Studio中使用.
您可以选择从源数据库导出或从目标数据库导入以传输数据.
如果您安排复制与表的关系和订单无关的表,则此方法是将表从源数据库复制到目标数据库的快速方法.
使用此方法时,不会传输表的索引和键.如果您对复制它感兴趣,则需要为这些数据库对象生成脚本.
如果这些是外键,将这些表连接在一起,则需要以正确的顺序导出数据,否则导出向导将失败.
在本文中,请随意阅读有关此方法的更多信息,以及更多方法(包括生成脚本,SELECT INTO和第三方工具):https: //www.sqlshack.com/how-to-copy-tables-从-一个数据库到另一个功能于SQL服务器/
选择...... INTO:
select * into <destination table> from <source table>
Run Code Online (Sandbox Code Playgroud)
INSERT INTO ProductPurchaseOrderItems_bkp
(
[OrderId],
[ProductId],
[Quantity],
[Price]
)
SELECT
[OrderId],
[ProductId],
[Quantity],
[Price]
FROM ProductPurchaseOrderItems
WHERE OrderId=415
Run Code Online (Sandbox Code Playgroud)
如果在两个数据库之间不断迁移,则插入已存在的表结构是可能的.如果是这样,那么:
使用以下语法:
insert into DESTINATION_DB.dbo.destination_table
select *
from SOURCE_DB.dbo.source_table
[where x ...]
Run Code Online (Sandbox Code Playgroud)
如果迁移大量表(或具有外键约束的表),我建议:
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
89772 次 |
| 最近记录: |