Sql server IIS应用程序池、服务帐户和MSSQL连接

Sql server IIS应用程序池、服务帐户和MSSQL连接,sql-server,iis,laravel-4,Sql Server,Iis,Laravel 4,我有两个相同的Windows 2012 R2环境。一个用于开发,另一个用于分期 对于我的服务器端语言,我使用PHP和Laravel4.1框架 我有一个用于两种环境的服务帐户,用于连接我们的MSSQL开发数据库。我将服务帐户设置为应用程序池,并将该应用程序池分配给IIS 8.5中的应用程序。我已经多次这样做了,没有任何问题。这避免了我们将密码存储在Laravel中的PHP数据库配置文件中 现在,我构建的应用程序在开发中运行良好。我可以使用上述方法连接到数据库。我再次使用相同的环境和相同的服务帐户将

我有两个相同的Windows 2012 R2环境。一个用于开发,另一个用于分期

对于我的服务器端语言,我使用PHP和Laravel4.1框架

我有一个用于两种环境的服务帐户,用于连接我们的MSSQL开发数据库。我将服务帐户设置为应用程序池,并将该应用程序池分配给IIS 8.5中的应用程序。我已经多次这样做了,没有任何问题。这避免了我们将密码存储在Laravel中的PHP数据库配置文件中

现在,我构建的应用程序在开发中运行良好。我可以使用上述方法连接到数据库。我再次使用相同的环境和相同的服务帐户将相同的代码复制到staging,但我得到了可怕的结果:

PDOException
SQLSTATE[28000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
因为它正在开发中,没有任何问题,而且我的暂存箱上还有其他应用程序能够成功连接,所以我完全不知道为什么这个应用程序不能在测试中连接。我昨天花了好几个小时排除故障,但运气不佳


有什么想法吗

问题与ApplicationHost.config文件有关。其他应用程序和应用程序池具有userName=“”属性,而导致问题的应用程序没有该属性。我手动添加了属性,这解决了我的问题

<location path="Default Web Site/application-name">
<system.webServer>
<security>
<authentication>
<basicAuthentication enabled="false" />
<anonymousAuthentication enabled="true" userName="" />
</authentication>
</security>
<handlers>


您确定为出错的应用程序分配了正确的应用程序池吗?哦,是的,检查了两倍、三倍、四倍。这很奇怪,因为即使我分配了不同的应用程序池,并没有抛出一个错误声明服务帐户无法连接,而是给了我同样的问题。这就好像应用程序没有绑定到应用程序池,即使是这样。连接字符串呢?它们在开发和登台上是相同的吗?是的。两者都相同,使用相同的用户名/密码访问相同的数据库。在staging env上运行的其他应用程序是否对应用程序池使用相同的服务标识?如果没有,则可以尝试运行此命令。aspnet\u regis-pa“NetFrameworkConfigurationKey”“YourDomain\YourServiceAccount”