授予对IIS APPPOOL \ DefaultAppPool的SQL Server数据库访问权限

时间:2014-02-14 12:32:24

标签: asp.net iis-7.5 sql-server-2012-express

我有一个试图访问sql server数据库的ASP NET APP,当我运行它时,我收到一个错误说

  

“用户IIS登录失败 APPPOOL \ DefaultAppPool

在网上搜索我发现我应该授予此用户访问权限,因此我执行了以下脚本:

grant  execute on schema :: dbo to [IIS APPPOOL\DefaultAppPool]

它作为我的数据库的脚本成功执行,但我仍然收到"Login Failed"错误。

缺少什么?

2 个答案:

答案 0 :(得分:3)

检查DefaultAppPool用于连接的用户。

在IIS管理器上,检查DefaultAppPool高级属性并查找Identity。您需要为用户提供足够的权限,具体取决于您的网站将要执行的操作。

我通常根据不同的网站创建不同的AppPools,例如,如果您的应用将文档写入服务器上的文件夹,AppPool的用户将需要写入该文件夹的访问权限。

使用管理员用户也不是一个好主意,因为它可能会导致潜在的安全漏洞。但是,这可能是检查问题是否来自那里的好方法。

答案 1 :(得分:-1)

我想我已经知道它是什么了。当我升级SQL Server Express时,它安装了一个新服务器。\ SQLEXPRESS(因为我使用了“新的sql实例”),在这个服务器而不是LocalDB中配置的远程连接,我的数据库仍在LocalDB中。但现在我得到了其他错误,可能与WCF数据服务有关......