SQl 跨服务器查询语句

select * from OPENDATASOURCE( ‘SQLOLEDB’, ‘Data Source=远程ip;User
ID=sa;Password=密码’ 卡塔尔国.库名.dbo.表名 insert 本地库名..表名 select *
from OPENDATASOURCE( ‘SQ英雄结盟EDB’, ‘Data Source=远程ip;User
ID=sa;Password=密码’ 卡塔尔(قطر‎.库名.dbo.表名 或应用联结服务器: –创立linkServer
exec sp_addlinkedserver ‘别名’,”,’SQLOLEDB’,’192.168.2.5′
–登陆linkServer exec sp_addlinkedsrvlogin
‘别名’,’false’,null,’sa’,’1234′ –查询 select * from 别称.库名.dbo.表名
–今后不再选用时去除链接服务器 exec sp_dropserver ‘别名’,’droplogins’

1、启用Ad Hoc Distributed Queries

用openrowset连接远程SQL或插队数据

在运用openrowset/opendatasource前搜先要启用Ad Hoc Distributed
Queries服务,因为那么些服务不安全所以SqlServer暗中认可是关闭的

–假设只是一时寻访,可以直接用openrowset

启用Ad Hoc Distributed Queries的方法

–查询示例

SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries’ 的
STATEMENT’OpenRowset/OpenDatasource’

select * from openrowset(‘SQ英雄缔盟EDB’, ‘sql服务器名’; ‘客商名’; ‘密码’,
数据库名.dbo.表名卡塔尔

的访谈,因为此组件已当作此服务器安全布局的一有的而被关闭。系统管理员能够因此采用

–导入示例

sp_configure 启用 ‘Ad Hoc Distributed Queries’。有关启用 ‘Ad Hoc
Distributed Queries’ 的详细

select * into 表 from openrowset(‘SQ英雄联盟EDB’
,’sql服务器名’;’顾客名’;’密码’ ,数据库名.dbo.表名State of Qatar

新闻,请参阅 SQL Server 联机丛书中的 “外围应用配置器”。
启用Ad Hoc Distributed Queries的措施,奉行下边包车型地铁查询语句就足以了:

–成立链接服务器

exec sp_configure ‘show advanced options’,1
reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries’,1
reconfigure
接纳达成后,记得必供给要关门它,因为那是叁个安全隐患,切记推行上面包车型大巴SQL语句

exec sp_addlinkedserver   ‘srv_lnk’, ”,
‘SQ英雄结盟EDB’,’远程服务器名或ip地址’

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

exec sp_addlinkedsrvlogin ‘srv_lnk’,’false’,null,’用户名’,’密码’

 

go

2、使用示例

–查询示例

–成立链接服务器
exec sp_addlinkedserver   ‘ITSV ‘, ‘ ‘, ‘SQ英雄联盟EDB ‘,
‘远程服务器名或ip地址 ‘
exec sp_addlinkedsrvlogin ‘ITSV ‘, ‘false ‘,null, ‘用户名 ‘, ‘密码 ‘

select * from srv_lnk.数据库名.dbo.表名

–查询示例
select *澳门金沙vip, from ITSV.数据库名.dbo.表名

–导入示例

–导入示例
select * into 表 from ITSV.数据库名.dbo.表名

select * into 表 from srv_lnk.数据库名.dbo.表名

–现在不再采纳时去除链接服务器
exec sp_dropserver  ‘ITSV ‘, ‘droplogins ‘

–以往不再动用时去除链接服务器

–连接远程/局域网数据(openrowset/openquery/opendatasource卡塔尔
–1、openrowset

exec sp_dropserver ‘srv_lnk’,’droplogins’

–查询示例
select * from openrowset( ‘SQ英雄联盟EDB ‘, ‘sql服务器名 ‘; ‘顾客名 ‘; ‘密码
‘,数据库名.dbo.表名卡塔尔国

go

–生花费地球表面
select * into 表 from openrowset( ‘SQ英雄联盟EDB ‘, ‘sql服务器名 ‘; ‘客商名
‘; ‘密码 ‘,数据库名.dbo.表名卡塔尔

–上面包车型大巴现身说法访问来自某些表的数额,该表在 SQL Server 的另一个实例中。

–把本地球表面导入远程表
insert openrowset( ‘SQLOLEDB ‘, ‘sql服务器名 ‘; ‘客商名 ‘; ‘密码
‘,数据库名.dbo.表名卡塔尔(قطر‎
select *from 本地表

SELECT *FROM OPENDATASOURCE(‘SQLOLEDB’,’Data Source=ServerName;User
ID=MyUID;Password=MyPass’).Northwind.dbo.Categories