天天看点

sp_addlinkedserver在存储过程中使用

if not exists(select  from sys.servers where name='DBVIP')
begin
EXEC sp_addlinkedserver
      @server='DBVIP',--被访问的服务器别名(任意的名称)
      @srvproduct='',
      @provider='SQLOLEDB',
      @datasrc='127.0.0.1'   --要访问的服务器(SQL SERVER实例名)

EXEC sp_addlinkedsrvlogin
     'DBVIP', --被访问的服务器别名
     'false',
     NULL,
     'sa', --登陆链接服务器的帐号
     '123' --登陆链接服务器的密码
end
go --(go的作用)将语句分开执行,否则会报错

--查看已注册的链接服务器
exec sp_linkedservers

--查询链接服务器上的表
select * from DBVIP.database_name.dbo.table_name
go
--DBVIP.database_name.dbo.table_name 远程服务器完整表名(必须用部分表示)

--用完后可删除
if exists(select  from sys.servers where name='DBVIP')
begin
Exec sp_droplinkedsrvlogin DBVIP,NULL --删除链接服务器的登陆帐户
Exec sp_dropserver DBVIP --删除链接服务器
end
go
--查看已注册的链接服务器
exec sp_linkedservers

           

继续阅读