连接到远程SQL Server数据库的经典ASP问题

Ron*_*rby 8 sql-server iis-7 database-connection web-applications asp-classic

我有一个经典的ASP应用程序,我试图连接到不同服务器上的SQL Server 2008数据库.ASP应用程序是从Windows Server 2008上的IIS7提供的.

我已经将网站的应用程序池更改为在特定的Windows帐户下运行,我已经验证可以访问远程服务器上的数据库.

但是,当我在浏览器中运行应用程序时,我收到此错误:

Application Error 
Number: -2147217843 (0x80040E4D)
Source: Microsoft OLE DB Provider for SQL Server
Description: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. 

为什么尝试使用NT AUTHORITY\ANONYMOUS LOGON进行连接?应用程序池标识不适用于传统ASP代码吗?如何以特定用户身份进行连接?

编辑

这是我正在使用的连接字符串:

Provider = SQLOLEDB.1; Data Source = myDbServer; Initial Catalog = myDatabase; Integrated Security = SSPI

Rob*_*nto 22

对于使用经典ASP的应用程序池标识的站点,您需要更改用于匿名身份验证的凭据.默认情况下,该站点将设置为使用特定用户,即IUSR.

选择验证从您的网站的IIS区域,然后选择匿名身份验证,然后编辑.从特定用户更改为应用程序池标识.

建议使用Windows身份验证(集成安全性)而不是SQL身份验证,这样您的配置文件中就没有凭据,这样如果这些文件被泄露,您就不会失去对凭据的控制权.