Active-Directory

今晚的安全更新後 SQL Server Windows 身份驗證失敗:登錄來自不受信任的域

  • March 29, 2019

我們有以下設置:

  • 一個域控制器(DC,Server 2003 R2 Standard x64)
  • 一台 SQL Server ( SQL , Server 2008 R2 Standard x64)
  • 一些客戶。

所有機器都在同一個域中。所有正在使用的使用者帳戶都是域帳戶。SQL執行每個 SQL Server 2005、2008、2008R2、2012 和 2014 的一個實例。

從今晚開始(DC重新啟動以安裝自動 Windows 安全更新),通過 Windows 身份驗證訪問 SQL 2005、2008 和 2008R2 實例不再正常工作:

訪問這些實例之一時

  • 來自其中一位客戶
  • 使用 Windows 身份驗證

出現以下錯誤(這是 2008R2 消息,2005/2008 消息類似):

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

顯然,消息文本不適用,因為只有一個域。

現在令人驚訝的是:一旦使用者登錄SQL(啟動 RDP 會話,甚至只是執行runas /user:MYDOMAIN\someuser cmd並保持視窗打開),該使用者就可以毫無問題地從所有客戶端訪問所有 SQL Server 實例,直到程序執行該使用者的憑據已關閉。

這意味著我可以通過對SQL上的所有使用者執行一次上述 runas 命令(並保持視窗打開)來解決這個問題,但是,顯然,有些東西被嚴重破壞了。我懷疑今晚在DC上的安全更新與它有關(因為這是唯一改變的東西),但我寧願避免解除安裝並重新啟動其中的每一個(安裝了 12 個更新,而DC確實又舊又慢)。

有沒有人遇到過這個問題並且知道如何永久修復它?任何其他想法(除了花接下來的幾天成為 Kerberos 專家)?

檢查您的 DC 今晚是否安裝了更新 KB3002657。請參閱http://support2.microsoft.com/?kbid=3002657 我遇到了同樣的問題。解除安裝此更新為我解決了這個問題。

通過組策略進行的以下修復對我有用:

  1. 打開組策略管理員
  2. 導航到電腦配置 >> Windows 設置 >> 本地策略 >> 安全選項
  3. 點兩下“網路安全:LAN Manager 身份驗證級別”
  4. 將選項從“發送 NTLM 響應”更改為“發送 LM 和 NTLM 響應”
  5. gpupdate /force在受影響的電腦和伺服器上執行。

引用自:https://serverfault.com/questions/674884