鏈接服務(wù)器節(jié)點(diǎn)可以連接到另一個(gè)數(shù)據(jù)庫,通常/通常在不同的機(jī)器上運(yùn)行,也許在不同的城市/國家。如果您需要執(zhí)行分布式查詢(查詢遠(yuǎn)程數(shù)據(jù)庫),這可能是有用的。
設(shè)置鏈接服務(wù)器就是相當(dāng)于使用簡單的 SQL Server 管理套件,所有需要的就是查詢遠(yuǎn)程服務(wù)器的詳細(xì)信息,以及數(shù)據(jù)庫。
SQL Server 創(chuàng)建鏈接服務(wù)器
創(chuàng)建鏈接的服務(wù)器:
- 在對象資源管理器,打開服務(wù)器對象,并導(dǎo)航到鏈接服務(wù)器
- 右鍵單擊鏈接服務(wù)器,然后選擇 New Linked Server...:
- 填寫詳細(xì)鏈接服務(wù)器的信息。 在本例,我連接到 SQL Server 稱為 Parrot 的遠(yuǎn)程服務(wù)器,上面有一個(gè)為 Paywi 的 z 數(shù)據(jù)庫。鏈接服務(wù)器名稱是 PAYROLL:
- 根據(jù)安全性選項(xiàng),必須向本地用戶映射到用戶在遠(yuǎn)程機(jī)器上的能力。在這里,本地 SQL Server 用戶 Zoidberg 被映射到遠(yuǎn)程機(jī)器上的 Web_User 帳戶。這里提供的密碼必須是Web_User 帳戶的遠(yuǎn)程計(jì)算機(jī)上的密碼。我們也有一個(gè)本地 Windows 域身份驗(yàn)證的用戶映射到同一個(gè)用戶在遠(yuǎn)程機(jī)器上,并設(shè)置為模擬。 Windows 域身份驗(yàn)證的用戶也是遠(yuǎn)程計(jì)算機(jī)上,因此本地用戶可以簡單地模擬遠(yuǎn)程用戶:
- 并且服務(wù)器選項(xiàng)可讓您進(jìn)一步配置為鏈接服務(wù)器。在這里我換了一個(gè)環(huán)境。我設(shè)置 RPC 輸出為 True。此選項(xiàng)使用戶能夠?qū)\(yùn)行鏈接服務(wù)器存儲過程。需要注意的是在 RPC 選項(xiàng)可以存儲從遠(yuǎn)程服務(wù)器到本地機(jī)器稱為程序。在這種情況下,我們已經(jīng)離開并且為 False:
- 當(dāng)配置時(shí),單擊確定以創(chuàng)建鏈接的服務(wù)器。
現(xiàn)在應(yīng)該看到新的鏈接服務(wù)器坐在對象資源管理器的鏈接服務(wù)器節(jié)點(diǎn)下。
分布式查詢
鏈接服務(wù)器配置完成之后,我們就能夠運(yùn)行查詢等操作了,但是當(dāng)您運(yùn)行鏈接服務(wù)器查詢時(shí),它會被稱為分布式查詢。
鏈接服務(wù)器的分布式查詢必須包括每個(gè)數(shù)據(jù)源來查詢一個(gè)完全合格的,由四部分組成的表名。
這四部分的名稱的形式為:linked_server_name.catalog.schema.object_name.
如下述例子所示:
SELECT * FROM PAYROLL.Paywiz.dbo.Employees
這個(gè)例子是基于上面的鏈接服務(wù)器的例子。
它假定遠(yuǎn)程數(shù)據(jù)庫有一個(gè)名為 “dbo” 模式和一個(gè)名為 “Employees” 的表。
更多建議: