2012-07-27 330 views
4

當我的SQL Server 2005上運行:如何修復找不到Windows NT用戶或組'IIS APPPOOL DefaultAppPool'?

EXEC sp_grantlogin "IIS APPPOOL\DefaultAppPool" 

我得到的錯誤:

Msg 15401, Level 11, State 1, Procedure sp_grantlogin, Line 49 
Windows NT user or group 'IIS APPPOOL\DefaultAppPool' not found. Check the name again. 

我該如何解決這個問題?

+1

您是否在SQL Server中爲此登錄創建了一個用戶?必須有一個用戶定義掛鉤登錄。 – DeanOC 2012-07-27 01:54:13

+0

@DeanOC我試過:'創建用戶[IIS應用程序\ DefaultAppPool]從登錄[IIS應用程序\ DefaultAppPool]',但然後我得到:'找不到Windows NT用戶或組'IIS APPPOOL \ DefaultAppPool'。再次檢查名稱。' – user603007 2012-07-27 03:39:41

+0

我在這個頁面上找到了解決方案! http://serverfault.com/questions/81165/how-to-assign-permissions-to-applicationpoolidentity-account – user603007 2012-07-31 02:31:41

回答

3

您需要確保機器上有一個名爲IIS APPPOOL\DefaultAppPool的Windows帳戶。在計算機上運行計算機管理,轉到本地用戶和組,然後查看IIS_IUSRS中的屬性。

如果在那裏沒有帳戶,那麼調用IIS APPOOL\DefaultAppPool那麼這就是爲什麼您無法將登錄名添加到SQL Server。如果您也在該計算機上運行IIS,則只有SQL Server計算機上有此帳戶,因爲IIS APPPOOL \ DefaultAppPool是本地帳戶。

此鏈接http://forums.iis.net/t/1174325.aspx似乎與您的問題非常相似。關於如何解決這個問題有一些提示,包括看起來很重要的最後一個問題。

1

對於在我的IIS 7.5開發框中進行的懶惰設置,我使用BUILTIN\IIS_IUSRS而不是應用程序池標識IIS APPPOOL\DefaultAppPool

由於(動態)應用程序池標識用戶始終是組IIS_IUSRS的成員,因此如果您重命名應用程序池或使用其他應用程序池,則不會破壞SQL權限。

參考,使用BUILTIN \組授予訪問預定義的Windows NT組:http://support.microsoft.com/kb/216808

2

這項工作對我來說

CREATE LOGIN [IIS APPPOOL\MyAppPool] FROM WINDOWS; 
CREATE USER MyAppPoolUser FOR LOGIN [IIS APPPOOL\MyAppPool]; 
+0

這對我來說,最高評價答案沒有。我在SQL Server 2008,Windows Server 2008上。我懷疑Window中有一個錯誤,但是如果直接輸入SQL,它就會起作用。 您不必在IIS_IUSRS組中擁有應用程序池標識,就像頂級答案所示。 – mcfroob 2017-01-16 01:36:13

0

我有同樣的錯誤消息,安裝SQL等我發現後我實際上沒有在Windows Programs and Features中啓用/安裝IIS

搜索Turn Windows features on or off

檢查IIS - Internet Information Services打勾

點擊OK

重新運行SQL腳本現在應該完成。

相關問題