Sql-Server

連接到 SQL Server localhost 並指定埠時出現“不受信任的域”錯誤

  • December 23, 2021

我有兩個在 localhost 上執行的 SQL Server 2016 實例,我可以使用 Windows 身份驗證毫無問題地連接到這兩個實例(localhost 和 localhost\test)。但是,如果我在 SSMS 中明確指定埠(分別為“localhost,1433”或“localhost,1435”),我會收到以下錯誤:

登錄失敗。登錄來自不受信任的域,不能用於 Windows 身份驗證。(Microsoft SQL Server,錯誤:18452)

我正在連接到本地實例(它不是域 PC,但沒關係)並且我是本地管理員,所以沒有權限問題 - 當我在沒有指定埠的情況下連接時,我連接沒有任何問題一點也不。

我在跨域或在工作組中連接時看到了此錯誤,但這不是這裡發生的情況,因為如果我刪除埠號,我可以連接。

所以,我們只是遇到了這個問題,添加細節以防它幫助其他人,並且他們不會像我們那樣花時間在 Kerberos 調試的兔子洞裡。

我沒有所有詳細資訊,因為我們的下一級修復了它,但顯然在我們的情況下,因為我們有跨林信任身份驗證,問題是我們需要授予使用者組“允許身份驗證”權限他們試圖連接的伺服器對象,之後它工作正常。

我們有一個在 domain1 中執行 Sql2017 的 win2k16 伺服器,並且使用者在 domain2 中執行 win7 並在兩者之間設置了信任,這工作正常。

但是當使用者遷移到win10時,他們收到了上述錯誤。對我們的修復是向 domain1 中的伺服器上的 domain2 中的域使用者組授予“允許身份驗證”,然後 win10 工作正常。

如果有人知道為什麼升級客戶端作業系統會有所不同,請告訴我們!

如果您有命名實例並且不想聲明您的埠,那麼您需要確保 SQL Server Browser 正在執行

預設情況下,它通過埠 UDP 1434 執行

如果您使用埠號連接,也請嘗試以下步驟

  • 為 SQL 服務手動創建 SPN(我們使用託管服務帳戶)
  • 在主機文件中添加一個 localhost 127.0.0.1 條目
  • 檢查 TCP 和命名管道協議是否啟用
  • 檢查是否在您連接的本地電腦上禁用了防火牆,您是否打開了所有 AD 使用者身份驗證埠。

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