連結伺服器

連結伺服器的組態可讓 SQL Server 對遠端伺服器上的 OLE DB 資料來源執行命令。連結伺服器可提供以下優點:

  • 遠端伺服器存取
  • 在企業間的異質資料來源上發出分散式查詢、更新、命令與交易的能力。
  • 以類似方式處理不同資料來源的能力。

連結伺服器元件

連結伺服器定義會指定下列物件:

  • OLE DB 提供者
  • OLE DB 資料來源

*「OLE DB 提供者」是一種 DLL,可管理特定資料來源並與其互動。「OLE DB 資料來源」*則識別可透過 OLE DB 存取的特定資料庫。雖然透過連結伺服器定義來查詢的資料來源通常都是資料庫,不過,各種檔案及檔案格式都有 OLE DB 提供者的存在。其中包括文字檔、工作表資料,以及全文檢索內容搜尋的結果。

Microsoft SQL Native Client OLE DB 提供者 (PROGID: SQLNCLI) 是 SQL Server 的正式 OLE DB 提供者。

ms188279.note(zh-tw,SQL.90).gif附註:
SQL Server 分散式查詢是專為處理任何實作必要 OLE DB 介面的 OLE DB 提供者而設計;不過,SQL Server 2005 只有針對 SQL Native OLE DB 提供者以及某些其他提供者而測試過。如需詳細資訊,請參閱<以 SQL Server 測試 OLE DB 提供者>。

連結伺服器詳細資料

下圖說明連結伺服器組態的基本設定。

用戶端層、伺服器層和資料庫伺服器層

連結伺服器通常用於處理分散式查詢。當用戶端應用程式透過連結伺服器來執行分散式查詢時,SQL Server 會剖析命令,並將要求傳送至 OLE DB。資料列集要求可能是採用對提供者執行查詢的形式,也可能是開啟提供者的基底資料表 (Base Table)。

若要讓資料來源透過連結伺服器來傳回資料,該資料來源的 OLE DB 提供者 (DLL) 必須與 SQL Server 的執行個體位在同一部伺服器上。

若是使用協力廠商的 OLE DB 提供者,則用來執行 SQL Server 服務的帳戶,必須要有該提供者安裝位置之目錄及其所有子目錄的讀取和執行權限。

管理提供者

有一組選項可用來控制 SQL Server 如何載入及使用登錄中所指定的 OLE DB 提供者。如需詳細資訊,請參閱<設定分散式查詢的 OLE DB 提供者>。

管理連結伺服器定義

當您設定連結伺服器時,請使用 SQL Server 來註冊連接資訊與資料來源資訊。註冊完成之後,就可以使用單一邏輯名稱來參考這個資料來源。

您可以使用預存程序及目錄檢視來管理連結伺服器定義:

  • 執行 sp_addlinkedserver 來建立連結伺服器定義。
  • 針對 sys.servers 系統目錄檢視來執行查詢,以檢視在特定 SQL Server 執行個體中定義的連結伺服器相關資訊。
  • 執行 sp_dropserver 來刪除連結伺服器定義。您也可以使用這個預存程序來移除遠端伺服器。

您也可以使用 SQL Server Management Studio 來定義連結伺服器。在 [物件總管] 中,以滑鼠右鍵按一下 [伺服器物件],選取 [新增],再選取 [連結伺服器]。您可以用滑鼠右鍵按一下連結伺服器名稱,並選取 [刪除],以刪除連結伺服器定義。

當您對連結伺服器執行分散式查詢時,所要查詢的每個資料來源均需包含完整的四部分資料表名稱。此四部分的名稱格式為 linked_server_name.catalog**.schema.**object_name。如需詳細資訊,請參閱<分散式查詢>。

請參閱

概念

連結伺服器的安全性
使用連結伺服器名稱來識別資料來源
以 SQL Server 測試 OLE DB 提供者
使用分散式查詢的交易

其他資源

sys.servers (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_dropserver (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助