部署到Web Server时,ASP.Net应用程序无法登录到SQL Server数据库

部署到Web Server时,ASP.Net应用程序无法登录到SQL Server数据库

ASP.Net application cannot Login to SQL Server Database when deployed to Web Server

我在将ASP.NET V2 Web应用程序部署到我们的部署环境时遇到问题,并且在sql server设置方面遇到了麻烦。

当我运行网站时,我无法登录用户'MOETP MOERSVPWLG $'。 尝试连接数据库时发生错误。

这似乎是网络服务用户,这是我希望从应用程序获得的行为,但是我似乎无法允许网络服务用户访问数据库。

有关设置的一些细节。 IIS 6和SQL Server 2005都在部署环境中的同一服务器上设置。 我所做的测试设置的唯一变化是,将数据库连接字符串指向新的实时数据库,然后将所有内容复制过来。

我现在的假设是,需要做一些对SQL Server安装程序的操作,以允许来自asp.net的连接。 但是我看不出来会是什么。

有任何想法吗?


您在帖子中指定的用户名就是一台计算机上的网络服务帐户在其他计算机上的外观,即" DOMAIN MACHINENAME $"。

如果要从一台计算机上的IIS6连接到另一台计算机上的SQL Server,并且正在使用网络服务作为应用程序池的进程标识,则需要显式添加" MOETP MOERSVPWLG $"作为SQL Server的登录名,并将其映射适当的数据库用户和角色。输入与登录名完全相同的名称(当然要加上引号)。


如果是全新安装,则可能无法完成所有安装。检查SQL Server配置管理器,http://msdn.microsoft.com/en-us/library/ms174212.aspx。分步说明http://download.pro.parallels.com/10.3.1/docs/windows/Guides/pcpw_upgrade_guide/7351.htm。


听起来您可以正常连接到数据库,并且正在使用集成的Windows身份验证。

使用集成的Windows身份验证,无论您的应用程序池用户身份正在使用什么,都将使用与数据库的连接。您必须确保asp.net使用的用户身份在数据库服务器上。


可能会有一些不同的事情。

您是否正在使用集成的Windows身份验证?如果是这样,则需要确保用户ASP.net正在运行,并且可以与数据库进行对话(或模拟可以进行对话的数据库)。

Web服务器是否有权与数据库对话?有时,将Web服务器部署在DMZ中。

如果使用的是SQL Server登录名,生产服务器上是否存在具有相同权限的同一登录名?


确保为要尝试登录的用户(如sql服务器)创建了登录名。


推荐阅读