ApplicationPoolIdentity IIS 7.5 到 SQL Server 2008 R2 不工作

Jac*_*ack 11 application-pools iis-7.5

我有一个小的 ASP.NET 测试脚本,它打开与域中另一台机器上的 SQL Server 数据库的连接。它并非在所有情况下都有效。

设置:

W2K8R2 下的 IIS 7.5 尝试连接到远程 SQL Server 2008 R2 实例。所有机器都在同一个域中。

将 ApplicationPoolIdentity 用于网站时,它无法连接到 SQL Server,原因如下:

用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。

但是,如果我将 Process Model Identity 切换为 NETWORK SERVICE 或我的域帐户,则数据库连接成功。

我已经在 SQL Server 中授予了 \$ 访问权限。

我没有在网站上进行任何类型的身份验证,它只是一个简单的脚本,用于打开与数据库的连接以确保其正常工作。

我启用了匿名身份验证并设置为使用应用程序池标识。

我如何使这项工作?为什么 ApplicationPoolIdentity 试图使用匿名登录?更好的是,如何让它停止使用匿名登录?

小智 2

我有完全相同的问题。我拔了几个小时的头发,最后重新启动了机器。问题消失了!请注意,通过 iisreset 重新启动 IIS 并不能解决该问题。当我重新启动服务器时它才消失。