选择into语句,其中source是其他数据库

sql sqlbulkcopy sql-server sql-server-2008 sql-server-2012

如何将数据从一个数据库复制到具有相同表结构的另一个数据库并保留密钥标识?

我使用Sql Server 2012“Denali”,我想从Sql Server 2008 DB复制一些数据。我拥有的表完全相同,但我希望旧数据库中的数据进入新的“Denali”数据库。数据库位于不同的服务器上。

所以我想要类似的东西

USE newDB;
GO
SELECT *
INTO newTable
FROM OldDb.oldTable WITH (KEEPIDENTITY);
GO

有人建议让这个可行吗?

一般承认的答案

配置链接服务器并在查询中引用它。您可能还需要使用IDENTITY_INSERT

SSMS内置的SSIS组件还可以加载来自不同源(XML,平面文件或本地/远程服务器)的数据。


热门答案

今天遇到这个问题并且它不起作用:(如果两个DB都在同一台服务器上,你必须使用完全限定的数据库名称。 不要忘记.dbo架构

Select  *
INTO [NEW DB].dbo.Lab_Tests
from [OLD DB].dbo.Lab_Tests



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因