当我在sql server 2005上运行时:
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.
我该如何解决这个问题?
答案 0 :(得分:7)
这项工作对我来说
CREATE LOGIN [IIS APPPOOL\MyAppPool] FROM WINDOWS;
CREATE USER MyAppPoolUser FOR LOGIN [IIS APPPOOL\MyAppPool];
答案 1 :(得分: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似乎与您的问题非常相似。关于如何解决问题有一些提示,包括最后一个看起来很重要的提示。
答案 2 :(得分:1)
对于我的IIS 7.5开发框中的延迟设置,我使用BUILTIN\IIS_IUSRS
而不是应用程序池标识IIS APPPOOL\DefaultAppPool
。
由于(动态)应用程序池标识用户始终是组IIS_IUSRS
的成员,如果重命名应用程序池或使用其他应用程序池,则不会破坏SQL权限。
参考,使用BUILTIN \ Group授予对预定义Windows NT组的访问权限:http://support.microsoft.com/kb/216808
答案 3 :(得分:0)
安装SQL等后我收到了同样的错误消息。我发现我实际上没有在IIS
中启用/安装Windows Programs and Features
。
搜索Turn Windows features on or off
勾选IIS - Internet Information Services
点击OK
现在应该完成重新运行SQL脚本。