SQL Server連結伺服器


SQL Server提供連結到另一個伺服器的選項。這通常被用來連線到其他SQL Server資料庫,但它也可以被用來連線到一個Microsoft Access資料庫。這是通過連結伺服器節點成為可能。

連結伺服器節點可以連線到另一個資料庫,通常/通常在不同的機器上執行,遠端也許在不同的城市/國家。如果您需要執行分散式查詢(查詢遠端資料庫),這可能是有用的。 設定連結伺服器就是相當於使用簡單的SQL Server管理套件。 所有需要的就是查詢遠端伺服器的詳細資訊,以及資料庫。

建立連結伺服器

要建立連結的伺服器:

  1. 在物件資源管理器,開啟伺服器物件,並導航到連結伺服器
  2. 右鍵單擊連結伺服器,然後選擇 New Linked Server...:
    Creating a linked server in SQL Server Management Studio - 1
  3. 填寫詳細連結伺服器的資訊。 在本例,我連線到SQL Server稱為Parrot的遠端伺服器,上面有一個為Paywi的z資料庫。連結伺服器名稱是PAYROLL:
    Creating a linked server in SQL Server Management Studio - 2
  4. 根據安全性選項,必須向本地使用者對映到使用者在遠端機器上的能力。在這裡,本地SQL Server使用者Zoidberg被對映到遠端機器上的Web_User帳戶。這裡提供的密碼必須是Web_User帳戶的遠端計算機上的密碼。我們也有一個本地Windows域身份驗證的使用者對映到同一個使用者在遠端機器上,並設定為模擬。 Windows域身份驗證的使用者也是遠端計算機上,因此本地使用者可以簡單地模擬遠端使用者:
    Creating a linked server in SQL Server Management Studio - 3
  5. 並且伺服器選項可讓您進一步組態為連結伺服器。在這裡我換了一個環境。我設定RPC輸出為True。此選項使使用者能夠對執行連結伺服器儲存過程。需要注意的是在RPC選項可以儲存從遠端伺服器到本地機器稱為程式。在這種情況下,我們已經離開並且為False:
    Creating a linked server in SQL Server Management Studio - 4
  6. 當組態時,單擊確定以建立連結的伺服器。

現在應該看到新的連結伺服器坐在物件資源管理器的連結伺服器節點下。

Screenshot of linked server in Object Explorer

分散式查詢

當組態了連結伺服器,將能夠執行查詢等。當您執行連結伺服器查詢,它被稱為分散式查詢。

當您執行對連結伺服器的分散式查詢,則必須包括每個資料源來查詢一個完全合格的,由四部分組成的表名。這四部分的名稱應該是形式 linked_server_name.catalog.schema.object_name.

下面是一個例子:

?
SELECT * FROM PAYROLL.Paywiz.dbo.Employees

這個例子是基於上面的連結伺服器的例子。它假定遠端資料庫有一個名為“dbo”模式和一個名為“Employees”表。