“IIS AppPool \ ASP.NET v4.0” - SQL Server Web登录失败

Modified on: Mon, 19 Aug 2019 05:40:02 +0800

我正在尝试将网站从SQL Server 2008 Express迁移到SQL Server Web,并且该网站无法访问数据库。事实上,Express只是从Visual Studio的内置Web服务器运行网站时才使用,所以我不确定配置在完整的IIS 7下运行良好。无论如何,当我尝试访问页面时使用Linq to Entities(要求网站连接到数据库),我收到错误“IIS AppPool \ ASP.NET v4.0登录失败”。所以,我打开了SQL Server Management Studio,并尝试为用户添加登录,但我只是收到一条消息,指出“找不到Windows NT或用户组'***** \ Asp.Net v4.0'” 。即使在我要求Management Studio检查用户名称(成功完成)之后,也会发生这种情况。有人能告诉我我做错了什么吗?此外,我也接受其他建议......一切都在同一台服务器上运行,因此没有远程连接。出于这个原因,我很乐意尽可能使用Windows身份验证。

作者:user127667,user55974

最佳答案

IIS 7正在尝试使用IIS应用程序池标识来访问您的SQL数据库。

因此,您必须首先授予对SQL Server的IIS 7 apppool访问权限。

为此,请进入SQL Server Management Studio - >服务器实例 - >安全 - >登录 - >新登录

登录名将为“IIS APPPOOL \ ASP.NET v4.0”。这是因为每次在IIS7中创建应用程序池时,它都会创建一个与应用程序池使用相同名称的标识。在您的情况下,您使用的是asp.net 4附带的默认应用程序池。

然后在您的数据库中,转到安全性 - >登录 - >新登录,给它一个别名,然后选择你在上一步中添加的用户对象(IIS APPPOOL \ ASP.NET v4.0),然后给它db_owner(或你需要的任何)模式/角色权限。

作者:kimphamg

相关问答

添加新评论