SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=MyUID;Password=MyPass'
).Northwind.dbo.Categories
缺點:遠端伺服器資訊不固定時難以維護,需搭配動態 SQL (EXEC 或 sp_executesql) 才能參數化連線字串。
-- 新增連結伺服器
sp_addlinkedserver @server = N'LinkedSrvName',
@srvproduct = N'',
@provider = N'SQLOLEDB',
@datasrc = N'RemoteServerIP';
-- 新增連結伺服器登入對應
sp_addlinkedsrvlogin
@rmtsrvname = 'LinkedSrvName',
@useself = 'false',
@locallogin = 'LocalLogin',
@rmtuser = 'RemoteLogin',
@rmtpassword = 'RemotePassword';
SELECT * FROM LinkedSrvName.RemoteDB.RemoteOwner.RemoteTable
優點:封裝連線細節,應用端只需知連結伺服器名稱,不暴露遠端 IP、帳密,維護彈性大。