【发布时间】:2013-12-21 21:15:09
【问题描述】:
我有一个如下所示的连接字符串:
Server=.;Database=mydbname;Trusted_Connection=True;
当我使用 Visual Studio (IIS Express) 运行/调试我的应用程序时,这可以正常工作,但在通过 IIS-8 部署后,它会在打开连接时引发异常:
用户“IIS APPPOOL\mysite”登录失败。
我很困惑为什么会发生这种情况,为什么 IIS 在数据库不需要用户时将其用户添加到中间,为什么 IIS Express 没有发生这种情况?
【问题讨论】:
-
IIS express 适用于您的用户。 IIS 适用于应用程序池用户。添加到 sql express 权限以访问 IIS APPPOOL\mysite 的数据库。
-
我正在使用
SQL server 2012 Enterprise,您能否解释一下如何将此权限添加到sql?每次我对应用程序池进行一些更改时,我是否需要更改此设置? -
另外,请设置 Trusted_Connection=False,因为在连接字符串中设置 Trusted_Connection=true 将使用 IIS 身份用户配置文件覆盖 SQL 身份验证值。
-
@Ani 尝试了链接中的解决方案,但仍然有错误,但现在已更改,显示为
Login failed for user 'NT AUTHORITY\LOCAL SERVICE'.
标签: c# asp.net-mvc-4 iis sql-server-2012