Sql-Server

連結伺服器 - 雙跳 - Kerberos - TCP

  • August 13, 2019

我在使用連結伺服器時遇到問題。

我通常不會使用連結伺服器,但遺留問題正在迫使我這樣做。

我正在嘗試在兩個新的生產 SQL 伺服器之間設置連結伺服器。我已經在兩台機器上配置了 SQL,域服務帳戶在每個 SQL 實例上執行 MSSQLSvc。

域服務帳戶已註冊 SPN;我已經通過 AD 屬性編輯器(sp?)驗證了這一點。我可以在實際伺服器上執行單跳查詢,但從我的筆記型電腦(域管理員)進行雙跳就沒有運氣了。

我在每台伺服器上都使用了 Kerberos Config 工具,並儘我所能進行了配置。

這就是Google在這個問題上的不足之處。當我在其中一台伺服器上使用 Kerberos 配置工具時,我會為執行 MSSQLsvc 的服務帳戶獲取此資訊:

TCP must be enabled to use Kerberos authentication.

在 SQL 伺服器配置管理器中,我啟用了 TCP/IP。

我已經多次重新啟動服務和伺服器。

有什麼想法嗎?我可以提供更多資訊。

驗證兩個 SQL Server 是否可以使用 Kerberos

  1. 使用 Windows 身份驗證從您的筆記型電腦連接到 SQLSERVER1。
  2. 執行這個查詢:select auth_scheme from sys.dm_exec_connections where session_id = @@spid它應該返回“Kerberos”。
  3. 如果它返回“NTLM”:
  4. 驗證沒有重複的 spn (SETSPN -X)
  5. 驗證正確的 spn (SETSPN -L)
  6. 對 SQLSERVER2 重複

一旦您可以使用 Kerberos 連接到兩台伺服器,則需要確保 SQLSERVER1 受信任以委託給 SQLSERVER2。這是在服務帳戶的 AD 中設置的。

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