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'