Sql-Server

如何通過 tcp/ip 指定到遠端數據庫的連結伺服器?

  • April 18, 2020

我有一個在 IAAS 提供程序上執行的遠端數據庫,我需要能夠從我的本地工作站執行連接查詢。我遇到了麻煩,因為當我嘗試創建連結時,它正在嘗試使用命名管道進行連接。

我使用 SQL Server Native Client 10 創建了一個系統 DSN,並為其提供了 IP、數據庫、使用者和密碼。測試了它,它很好。

  1. 去連結伺服器並創建新的。
  2. 指定名稱“MAIN”
  3. 在組合框中選擇 SQL Server Native Client 10
  4. 在產品名稱欄位中輸入 SQL Server
  5. 在數據源欄位中輸入了我的 DSN 名稱
  6. 在提供者名稱欄位中輸入 SQLNCLI10
  7. 在目錄欄位中輸入我的數據庫名稱
  8. 轉到安全選項並指定我的本地到遠端登錄配對。

點擊確定後,我收到一個錯誤,它找不到伺服器,它表明它正在嘗試使用命名管道。

我應該怎麼做才能糾正這個?

我看不出您應該使用 DSN 的原因。直接使用 SQL Server Native Client 創建連結伺服器:

EXEC master.dbo.sp_addlinkedserver
   @server     = N'MAIN',
   @srvproduct = N'SQLServ', -- it’s not a typo: it can’t be “SQLServer”
   @provider   = N'SQLNCLI', 
   @datasrc    = N'I .P_Address';

然後您可以創建本地/遠端登錄對:

-- Pair local and remote logins
EXEC master.dbo.sp_addlinkedsrvlogin
   @rmtsrvname  = N'MAIN',
   @useself     = N'False',
   @locallogin  = N'Local_user_name',
   @rmtuser     = N'Remote_user_name',
   @rmtpassword = N'Remote_password';v

引用自:https://dba.stackexchange.com/questions/40500