簡體   English   中英

如何在 SQL Server 中創建和查詢鏈接的數據庫服務器?

[英]How do I create and query linked database servers in SQL Server?

我需要在兩個不同的數據庫服務器(IP 10.0.0.50 和 10.0.0.51)之間進行連接。 最好的方法是什么?

我找到的解決方案:

1)運行一個 存儲過程

exec sp_addlinkedserver    @server='10.0.0.51'

2) 驗證服務器是否已鏈接(列出鏈接的服務器)

exec sp_linkedservers

3) 使用格式運行查詢

 [10.0.0.51].DatabaseName.dbo.TableName

您需要使用 sp_linkedserver 創建鏈接服務器。

sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] 
 [ , [ @provider= ] 'provider_name' ]
 [ , [ @datasrc= ] 'data_source' ] 
 [ , [ @location= ] 'location' ] 
 [ , [ @provstr= ] 'provider_string' ] 
 [ , [ @catalog= ] 'catalog' ] 

MSDN 上提供了更多信息。

我知道上面的答案很好,但想分享一些細節,希望其他人會覺得有幫助。 值得一提的是用戶訪問部分,我認為人們需要幫助。

設置鏈接:

exec sp_addlinkedserver @server='10.10.0.10\\MyDS';

設置遠程用戶的訪問權限,示例如下:

exec sp_addlinkedsrvlogin '10.10.0.10\\MyDS', 'false', null, 'adm', 'pwd';

查看鏈接的服務器和用戶登錄:

exec sp_linkedservers;

select * from sys.servers;

select * from sys.linked_logins;

運行遠程查詢:

select * from [10.10.0.10\\MyDS].MyDB.dbo.TestTable;

刪除鏈接服務器和創建的登錄用戶 (adm/pwd)

exec sp_dropserver '10.10.0.10\\MyDS', 'droplogins'; -- drops server and logins

資源:

sp_addlinkedserver

sp_dropserver

sp_addlinkedsrvlogin

sp_droplinkedsrvlogin

如前所述,您可以使用 sp_addlinkedserver。 但是,您也可以通過 Enterprise Manager (2000) 或 SQL Server Management Studio (2005) 執行此操作。 在“安全”節點下,有一個“鏈接服務器”節點,您可以使用它來添加和配置鏈接服務器。 您可以指定安全設置、模擬等。

對於 SQL Server 2000,請參閱以下內容:

配置鏈接服務器

為鏈接服務器建立安全性

為分布式查詢配置 OLEDB 提供程序

請參閱 SQL Server 2005 的這些:

鏈接服務器

鏈接服務器的安全性

為委派配置鏈接服務器

為分布式查詢配置 OLEDB 提供程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM