我有一个试图访问sql server数据库的ASP NET APP,当我运行它时,我收到一个错误说
“用户IIS登录失败 APPPOOL \ DefaultAppPool ”
在网上搜索我发现我应该授予此用户访问权限,因此我执行了以下脚本:
grant execute on schema :: dbo to [IIS APPPOOL\DefaultAppPool]
它作为我的数据库的脚本成功执行,但我仍然收到"Login Failed"
错误。
缺少什么?
答案 0 :(得分:3)
检查DefaultAppPool用于连接的用户。
在IIS管理器上,检查DefaultAppPool高级属性并查找Identity。您需要为用户提供足够的权限,具体取决于您的网站将要执行的操作。
我通常根据不同的网站创建不同的AppPools,例如,如果您的应用将文档写入服务器上的文件夹,AppPool的用户将需要写入该文件夹的访问权限。
使用管理员用户也不是一个好主意,因为它可能会导致潜在的安全漏洞。但是,这可能是检查问题是否来自那里的好方法。
答案 1 :(得分:-1)
我想我已经知道它是什么了。当我升级SQL Server Express时,它安装了一个新服务器。\ SQLEXPRESS(因为我使用了“新的sql实例”),在这个服务器而不是LocalDB中配置的远程连接,我的数据库仍在LocalDB中。但现在我得到了其他错误,可能与WCF数据服务有关......