1

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

当我运行该网站时,我得到用户“MOETP\MOERSVPWLG$”的登录失败。尝试连接数据库时出错。

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

关于设置的一些细节。IIS 6 和 SQL Server 2005 都安装在部署环境中的同一台服务器上。我所做的测试设置的唯一更改是将数据库连接字符串指向新的实时数据库,当然还要复制所有内容。

我在这一点上的假设是,需要对 SQL 服务器设置进行一些操作以允许来自 asp.net 的连接。但我看不出它可能是什么。

有任何想法吗?

4

5 回答 5

1

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

通过集成的 Windows 身份验证,您与数据库的连接将使用您的应用程序池用户身份使用的任何内容。您必须确保 asp.net 使用的用户身份在数据库服务器上。

于 2008-09-18T23:23:14.983 回答
1

如果是全新安装,则可能无法设置所有内容。检查 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

于 2008-09-18T23:26:06.520 回答
1

您在帖子中指定的用户名是一台机器上的网络服务帐户在其他机器上的样子,即“DOMAIN\MACHINENAME$”。

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

于 2008-09-19T00:15:50.410 回答
0

确保在 sql server 上为您尝试登录的用户创建了一个登录名。

于 2008-09-18T23:17:32.203 回答
0

它可能有一些不同的东西。

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

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

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

于 2008-09-18T23:20:06.707 回答