跨服务器查询sql语句样例

时间:2021-02-22 12:08:49

若2个数据库在同一台机器上:
insert into DataBase_A..Table1(col1,col2,col3----)
select col11,col22,col33-- from DataBase_B..Table11
若不在同一台机器上,则是本文要讲的内容:

-----------------------------------------------------------------------------------------

跨服务器查询sql语句样例

INSERT INTO [目标数据库名].[dbo].[表名]
           ([Target_ID]
           ,[Target_Name])
select * from 
OPENDATASOURCE('SQLOLEDB','Data Source=服务器;DBN=源数据库名;UID=用户名;PWD=密码').源数据库名.dbo.[表名]

但上述查询需要开启外围数据库查询

先选中 master 数据库,新建一个查询,执行以下的sql

开户外围:

exec sp_configure 'show advanced options',1
 reconfigure
 exec sp_configure 'Ad Hoc Distributed Queries',1
 reconfigure

-------------------------------

关闭外围:

exec sp_configure 'show advanced options',0
 reconfigure
 exec sp_configure 'Ad Hoc Distributed Queries',0
 reconfigure