Sql-Server

錯誤:18456,嚴重性:14,狀態:46

  • October 5, 2017

我面臨以下錯誤:

  • 使用者“NT AUTHORITY\SYSTEM”登錄失敗:
  • 原因:無法打開明確指定的數據庫。
  • 原因:重新驗證連接上的登錄時,無法打開登錄對像中配置的數據庫。

這裡有幾點:

  1. 登錄 NT AUTHORITY\SYSTEM 具有 SYSADMIN 角色和公共角色
  2. NT AUTHORITY\SYSTEM Login 的預設數據庫是 Master。
  3. Master DB 線上且 AutoClose 為 False
  4. 登錄嘗試訪問的數據庫是一個臨時數據庫,並且在過去 15 天內處於單使用者模式,但由於上述錯誤而失敗。
  5. 當我檢查 SP_HELPDB 時,它沒有顯示數據庫,因為 SYS.Database 在名稱列中顯示數據庫?
  6. 當我嘗試設置 MULTI_USER 時,它說 DB 已經打開,一次只能有一個使用者,並且數據庫處於單使用者模式。

我檢查了 Aaron Bertrands 關於登錄問題的文章,發現如下:

在此處輸入圖像描述

請幫助我我還缺少什麼?

我是否需要將預設數據庫更改為登錄嘗試訪問的數據庫?

請指教 。

原因:無法打開明確指定的數據庫。

登錄嘗試訪問的數據庫是一個臨時數據庫,並且在過去 15 天內處於單使用者模式,但由於上述錯誤而失敗。

該錯誤清楚地表明無法訪問連接字元串中指定的數據庫。

所以你有這些可能性:

  • 更改與主數據庫的連接字元串
  • 使您的數據庫可訪問,將其放入multi_user

根據提到的幾點,您的數據庫似乎已經通過某些登錄連接,並且由於它處於單使用者模式,因此您無法訪問它。

6.當我嘗試設置 MULTI_USER 它說數據庫已經打開並且一次只能有一個使用者並且數據庫處於單使用者模式。

嘗試從 GUI 將數據庫設置為多使用者,而不是通過查詢視窗中的腳本。同時執行 sp_who2 並嘗試終止現在正在訪問數據庫的連接。一旦所有使用者都可以訪問數據庫,它就不會拋出您提到的錯誤。

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