Sql-Server

SQL Server 2012 無法使用機器帳戶登錄

  • October 21, 2021

我們正在將 IIS/SQL Server 站點從 2008 年遷移到 2012 年,但我遇到了身份驗證問題。我們使用 Windows 身份驗證來進行身份驗證DOMAIN\COMPUTER$,但這不起作用,並給出錯誤提示:

使用者 ‘DOMAIN\COMPUTER$’ 登錄失敗。原因:找不到與提供的名稱匹配的登錄名。

$$ CLIENT: <local machine> $$

我已驗證該帳戶存在,甚至刪除並重新創建了它

create login "DOMAIN\COMPUTER$" from windows

如果我再做一次,我會得到回應:

消息 15025,級別 16,狀態 2,第 1 行

伺服器主體 ‘DOMAIN\COMPUTER$’ 已經存在。

DOMAIN\COMPUTER替換為真實域名和電腦名)

因此,該站點似乎正在查詢 SQL Server,但 SQL Server 並沒有非常努力地查看其登錄資訊。

我錯過了什麼?

它很可能根本不是 DOMAIN\computer$。眾所周知,此消息具有誤導性。我認為它想要的只是“NT AUTHORITY\NETWORK SERVICE”被授予伺服器訪問權限。打開 SQL Server 登錄屬性並添加此帳戶。另外,檢查 IIS 中使用什麼使用者來模擬匿名使用者,它應該類似於“IUSR_ServerName”。也授予該使用者訪問權限

@cha 和 @alt 都有正確的線索 - 錯誤消息具有誤導性並且Application Pool Identity涉及(嗯,至少在我的情況下)。

如果您的 IIS 應用程序的應用程序池使用Application Pool Identity,則您需要添加到 SQL Server 的使用者帳戶是IIS APPPOOL\your_app_pool_name。注意:不要使用Search...登錄屬性中的按鈕來查找此使用者 - 它會找到它,但會用它替換它MACHINE_NAME\your_app_pool_name不起作用 - 只需輸入IIS APPPOOL\your_app_pool_name登錄名即可。

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