sql server跨数据库查询,并启动Ad Hoc Distributed Queries

方法一

exec sp_configure 'show advanced options',1    --开起
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
Go

SELECT distinct([GoodsCode]) FROM  OPENROWSET('SQLOLEDB','192.168.8.88';'sa';'123456',[Test].[dbo].[Customs]) 

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

方法二

  使用sp_addlinkedserver和sp_addlinkedsrvlogin创建

--查看当前链接情况:
select * from sys.servers;
--查看可用的服务器
Exec sp_helpserver

EXEC sp_addlinkedserver
@server='srv2',--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:srv2)
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='192.168.8.88' --要访问的服务器

EXEC sp_addlinkedsrvlogin
'srv2', --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名srv2,则这里也是srv2)
'false',
NULL,
'sa', --帐号
'123456' --密码

select top 1000 * from srv2.[test].[dbo].[automatic]   -- 查询测试

--删除已经存在的某个链接
Exec sp_droplinkedsrvlogin 'srv2',Null
Exec sp_dropserver 'srv2'

 

posted @ 2020-06-10 14:54  屁桃  阅读(273)  评论(0编辑  收藏  举报