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