天天看點

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

           

繼續閱讀