利用sp_addlinkedserver實現遠端資料庫連結
阿新 • • 發佈:2019-01-01
--檢視當前連結情況:
select * from sys.servers;
--使用 sp_helpserver 來顯示可用的伺服器
Exec sp_helpserver
--刪除已經存在的某個連結
Exec sp_droplinkedsrvlogin 伺服器別名,Null
Exec sp_dropserver 伺服器別名
--使用sp_addlinkedserver來增加連結
EXEC sp_addlinkedserver @server='192.168.2.66',--被訪問的伺服器別名(習慣上直接使用目標伺服器IP,或取個別名如:JOY) @srvproduct='', @provider='SQLOLEDB', @datasrc='192.168.2.66' --要訪問的伺服器
--使用sp_addlinkedsrvlogin 來增加使用者登入連結
EXEC sp_addlinkedsrvlogin
'192.168.2.66', --被訪問的伺服器別名(如果上面sp_addlinkedserver中使用別名JOY,則這裡也是JOY)
'false',
NULL,
'sa', --帳號
'test123' --密碼
使用舉例(訪問目標伺服器上的資料庫Music,檢視其中表test的內容):
如果建立連結時的別名是目標伺服器IP,即192.168.2.66
則:
select * from [192.168.2.66].[Music].dbo.test
如果建立連結時的別名是JOY,
則:
select * from [JOY].[Music].dbo.test
可能會遇到的問題:
exec sp_dropserver 'JOY'執行失敗,
報錯資訊:仍有對伺服器 'JOY' 的遠端登入或連結登入。
解決方法:
exec sp_droplinkedsrvlogin 'JOY',nullexec sp_dropserver 'JOY'