【茶包射手日記】SqlException Login failed for user '<Domain>\<Computer>$'.

在ASP.NET專案使用"Data Source=(local);Integrated Security=SSPI;Initial Catalog=MyDB"以Windows驗證連線本機SQL Server,Visual Studio測試正常,搬到IIS後出現以下錯誤:

System.Data.SqlClient.SqlException: Login failed for user '<Domain>\<Computer>$'.

Visual Studio測試時用的是IIS Express,會以當時登入Windows的帳號執行;移至IIS後執行身分不同可以理解,但怎麼會無端冒出電腦帳號(網域名稱\電腦名稱$)?我知道NETWORK SERVICE在存取遠端主機時會使用電腦帳號,但存取本機SQL為什麼會動用本機的電腦帳號?

爬文得知,原來這是個誤導性十足的錯誤訊息,跟遠端存取、本機電腦帳號沒啥關係,純粹是未設定 NT AUTHORITY\NETWORK SERVICE或IIS虛擬帳號 的SQL存取權限造成。

主機為Windows 8.1/IIS 8.5,應用程式集區(名稱為BBDP)使用的身分為ApplicationPoolIdentity,故於SQL新增登入帳號對應到「IIS APPPOOL\BBDP」並授與權限,問題排除。

歡迎推文分享:
Published 24 September 2015 10:13 PM 由 Jeffrey
Views: 2,988



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<September 2015>
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication