sqlserver跨数据库查询

RaymonGo / 2023-08-25 / 原文

方法一
`
exec sp_droplinkedsrvlogin pms,Null
exec sp_dropserver pms
exec sp_addlinkedserver
@server='pms',--被访问的服务器别名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='' --要访问的服务器
exec sp_addlinkedsrvlogin
'pms', --被访问的服务器别名
'false',
NULL,
'', --帐号
'' --密码

exec sp_serveroption @server='pms' , @optname= 'rpc', @optvalue ='TRUE'
exec sp_serveroption @server='pms' , @optname= 'rpc out', @optvalue='TRUE'`

方法二:各种数据类型的dblink创建

EXEC sp_addlinkedserver '链接服务器名称','','SQLOLEDB',NULL,NULL,'DRIVER={SQL Server};SERVER=服务器地址;UID=用户名;PWD=密码;'
EXEC sp_addlinkedsrvlogin @rmtsrvname='链接服务器名称',@useself='false',@locallogin='本地用户名',@rmtuser='用户名',@rmtpassword='密码'

-------------2008 R2

EXEC master.dbo.sp_addlinkedserver  N'链接服务器名称','', N'MSDASQL', NULL,NULL,@provstr=N'DRIVER={SQL Server};SERVER=服务器地址;UID=用户名;PWD=密码;' 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'链接服务器名称',@useself=N'False',@locallogin='本地用户名',@rmtuser=N'用户名',@rmtpassword='密码'

EXEC master.dbo.sp_addlinkedserver @server = N'链接服务器名称', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'IP:端口/服务名'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'链接服务器名称',@useself=N'False',@locallogin=NULL,@rmtuser=N'用户名',@rmtpassword='密码'

参考资料: