無法連接到 <實例>。目前命令發生嚴重錯誤
最近,現在不止一次,我們嘗試使用 SSMS 從我們的一個 SQL Server 實例連接到另一個實例,但遇到以下錯誤:
目前命令發生嚴重錯誤。結果,如果有的話,應該丟棄。
當我們嘗試在本地使用 SSMS 進行連接時,會出現以下錯誤:
與伺服器成功建立連接,但在登錄過程中出現錯誤。(提供者:共享記憶體提供者,錯誤:0 - 管道的另一端沒有程序。)(Microsoft SQL Server,錯誤:233)
通過專用管理連接 (DAC) 的連接會導致相同的錯誤。SQLCMD 顯示以下錯誤:
SQL Server 配置管理器報告 SQL Server 服務和 SQL Server 代理服務都在執行。
SQL Server 錯誤日誌在事件查看器中的條目開始被記錄的同時停止,報告 SQL Server 代理作業的連接問題。
SQL Server 計劃作業“sp_WhoIsActive”(0x868EBDEC06F71344AC717E0C6A333D13)-狀態:失敗-呼叫時間:2018-09-18 10:38:00-消息:作業失敗。無法確定作業 sp_WhoIsActive 的所有者 (sa) 是否具有伺服器訪問權限(原因:無法連接到伺服器 - 檢查 SQL Server 和 SQL Server 代理錯誤日誌)。
我們所有的 SQL Server 服務都已配置為在組託管服務帳戶 (gMSA) 下執行。
到目前為止,唯一的解決方案是重新啟動伺服器,但顯然這不是一個令人滿意的解決方案,特別是因為這個問題現在已經發生了不止一次。
我們唯一需要做的是,在連接問題發生之前,SQL Server 錯誤日誌中會多次出現以下錯誤消息。
2018-09-17 13:31:19.20 使用者登錄失敗$$ domain $$$$ gMSA account for SQL Agent $$$’。原因:無法打開明確指定的數據庫’$$ database_name $$’.$$ CLIENT: [local machine $$] 2018-09-17 13:32:03.63 登錄錯誤:18456,嚴重性:14,狀態:38。
這些登錄問題是否可能超出最大連接數?如果是這樣,為什麼仍然無法通過 DAC 連接?
有人可以建議嗎?
更多細節:
- Microsoft SQL Server 2016 (SP1-CU8) (KB4077064) - 13.0.4474.0 (X64) 2018 年 2 月 24 日 13:53:17 版權所有 (c) Windows Server 2016 Standard 10.0 (Build 14393) 上的 Microsoft Corporation Web Edition(64 位): )(管理程序)
- SQL Server Management Studio v17.8.1
- 最大使用者連接數設置為無限制 (0)。
- 共享記憶體、TCP/IP 和命名管道都已啟用。
我們強烈懷疑此問題可能與問題之前的 SQL Server 錯誤日誌(請參閱上面的原始文章)中突出顯示的眾多連接錯誤有關。可能已超出最大連接數。
此後,我們重新啟動了數據庫伺服器並解決了連接問題。如果這被證明不是問題,將重新訪問這篇文章!
在對 SQL Server 服務應用任何更改時,建議通過SQL Server xxxx 配置管理器執行此操作,以確保正確設置任何相關權限(文件/目錄/數據庫/實例)和策略。
修復服務帳戶(權限和所有)
我們將重置文件、目錄和系統資料庫設置的所有權限,包括。按照這些快速步驟,根據服務帳戶的要求可能存在的任何策略。
將服務帳戶更改為本地帳戶
- 打開SQL Server 2016 配置管理器並導航到SQL Server 服務分支。
- 在配置管理器的右窗格中,右鍵點擊SQL Server服務並選擇屬性。
- 在SQL Server 的屬性 (InstanceName)視窗中,檢查您是否位於登錄選項卡中。
- 將選擇器更改為內置帳戶並選擇以下三個選項之一:
- 本地系統
- 本地服務(首選;最低特權)
- 網路服務
- 按Apply,當彈出對話框通知您“…您所做的任何更改在重新啟動之前不會生效”,點擊OK。
- 停止SQL Server 服務 (InstanceName)
- 啟動SQL Server 服務 (IntanceName)
- 仔細檢查 SQL Server錯誤日誌是否有任何問題。
- **對SQL Server 代理 (InstanceName)**服務重複步驟 2 到 8 。
將服務帳戶更改回組託管服務帳戶
- 打開SQL Server 2016 配置管理器並導航到SQL Server 服務分支。
- 在配置管理器的右窗格中,右鍵點擊SQL Server服務並選擇屬性。
- 在SQL Server 的屬性 (InstanceName)視窗中,檢查您是否位於登錄選項卡中。
- 將選擇器更改為此帳戶並輸入 SQL Server (InstanceName) 服務的 gMSA 的詳細資訊。
- 按Apply,當彈出一個對話框通知您“…您所做的任何更改在重新啟動之前不會生效”時,點擊OK。
- 停止SQL Server 服務 (InstanceName)
- 啟動SQL Server 服務 (IntanceName)
- 仔細檢查 SQL Server錯誤日誌是否有任何問題。
- **對SQL Server 代理 (InstanceName)**服務重複步驟 2 到 8 。
現在應該已經根據各個服務的要求重新配置了服務。