0

環境&詳細錯誤消息:訪問遠程服務器被拒絕,因爲沒有登錄映射存在

  • 環境 - 的SQL Server 2014
  • 所有DB的是參與 可用性組。
  • 要連接到服務器的只讀節點,我們 在兩個節點上都創建了鏈接服務器。
  • 在內部,我們提供了服務器DNS名稱和「ApplicationIntent = ReadOnly」作爲鏈接連接字符串的一部分。鏈接的服務器總是從輔助/讀取節點讀取數據。
  • 鏈接服務器正在使用[ReadOnly] SQL用戶。此用戶對所選數據庫具有數據讀取器權限。
  • 以上鍊接服務器 - 工作正常。我們在SQL作業中使用鏈接服務器,它在「sa」上下文中運行。

問題

  • 我開發ADF管道。同樣,在SQL服務器上創建了SQL用戶 - 「adfuser」。此用戶具有數據讀取器,數據寫入器對所需數據庫的權限。
  • 現在,我正在嘗試按照'adfuser'上下文進行查詢。

    SELECT Col1,Col2 FROM [ReadOnly] .DB.dbo.TableA。

它拋出一個錯誤 - 數據庫操作失敗的服務器「服務器名稱」與SQL錯誤號「7416」。來自數據庫執行的錯誤消息:由於不存在登錄映射,因此拒絕訪問遠程服務器。

任何解決方案?

回答

0

您需要在創建鏈接服務器時將「用戶ID =用戶名」添加到鏈接服務器上的提供程序字符串中。

EXEC master.dbo.sp_addlinkedserver @server = N’LinkServerName’, @provider=N’SQLNCLI’,@srvproduct = ‘MS SQL Server’, @provstr=N’SERVER=serverName\InstanceName;User ID=myUser‘ 

,你可以在這裏閱讀更多: https://blogs.technet.microsoft.com/mdegre/2011/03/10/access-to-the-remote-server-is-denied-because-no-login-mapping-exists/

+0

非常感謝!!它爲我工作。 –

相關問題