首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 連結伺服器與 OPENDATASOURCE 遠端資料存取實作

     編輯:關於SqlServer

兩種跨伺服器查詢方式

方式一:OPENDATASOURCE 即時連線

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、帳密,維護彈性大。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved