位置:首頁 > 數據庫 > SQL Server教學 > SQL Server鏈接服務器

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”表。