[.NET伺服器錯誤]無法開啟登入所要求的資料庫 "ASPState"。登入失敗。 使用者 'NT AUTHORITY\SYSTEM' 的登入失敗。

  • 27370
  • 0

ASPSTATE, login failed, SQL例外, 無法開啟登入所要求的資料庫 "ASPState"。登入失敗。 使用者 'NT AUTHORITY\SYSTEM' 的登入失敗。

 

此問題發生於當ASP.NET MVC網站發行後,建置於IIS下,於本機及內網測試,皆可執行,但透過外部網址連線,有時會產生伺服器連線錯誤

本範例網站執行時錯誤畫面如下圖:

本網站的範例連線資訊:
DB SERVER名稱:WINDOWS-HP1RCM8\SQLEXPRESS
DB 名稱:neit_demo
使用者帳號:sa
登入密碼:sa

將以上資訊加入web.config中<system.web>區段下的<sessionState>屬性中(需自行新增此標籤),如下圖所示:

開啟「命令提示字元」,輸入以下

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -d neit_demo -S WINDOWS-HP1RCM8\SQLEXPRESS -U sa -P sa -ssadd -sstype c

按下Enter,將會出現以下結果,並自動關閉。

完成上述,重新發行網站即可。

參考來源:

https://www.codeproject.com/Questions/305561/Cannot-open-database-ASPState-requested-by-the-log

https://blog.miniasp.com/post/2011/09/13/Configure-SQL-Server-Session-State-Modes-for-ASPNET.aspx