0

我正在尝试创建一个与 SQL Server 2005 数据库(与 ASP 的服务器分开的服务器)有桥接连接的 ASP 页面。为此,我尝试使用 Windows 身份验证设置。我的名字对 SQL 服务器拥有完全权限,但我仍然收到错误消息“用户 COMPANY\name 登录失败”。要查看这是否只是 Windows 身份验证问题,我尝试进行 SQL Server 身份验证;这也不会让我登录。我不知道为什么 SQL 身份验证会出现问题,但我真的可以使用一些帮助来弄清楚为什么 Windows 身份验证不起作用。感谢您的时间。

问候,

佛朗哥

4

7 回答 7

1

您说,当您尝试使用 SQL 身份验证(我猜是 SQL Server 用户名和密码)登录 SQL Server 时,它没有让您进入。这意味着 SQL Server 端存在问题。确保您的 SQL Server 设置为混合模式身份验证。这意味着它应该能够让您使用 Windows 身份验证以及如果您提供 sql server 用户 ID 和密码。

那是一个指针。另一点正如大家所说,不要使用 Windows 身份验证从 ASP 页面连接到 SQL Server。为此,您需要将域用户设置为 SQL Server 用户。今天你是唯一一个使用这个页面的人,明天当你需要把这个页面提供给整个组织时怎么样?

于 2008-11-05T17:05:39.527 回答
1

我假设它们在同一个域上(因为你提到了 COMPANY\name)?

确保 SQL Server 设置为允许远程连接。(服务和连接的表面区域配置)

如果您使用的是 Windows 身份验证,您是在尝试指定单个用户进行连接,还是使用了当前用户的身份?如果您希望指定单个用户始终连接为,我建议使用 SQL Server 帐户而不是域帐户。

于 2008-11-05T16:36:38.557 回答
0

不要对这种连接使用 Windows 身份验证。

您可以发布您用于 WA 和 SQLauth 的连接字符串的副本(已清理 - 更改密码)吗?

于 2008-11-05T16:33:42.243 回答
0

尝试删除用户名的域部分 - COMPANY\User - 它可能会干扰身份验证。

另外 - 在 SQL Server 上(如果您有权访问),您是否尝试过通过 localhost 连接到服务器?可能只是您的用户没有足够的权限。

SQL Server Auth - 您是否创建了一个用户并将其附加到具有读取权限的数据库?

于 2008-11-05T16:37:27.807 回答
0

安装 SQL Server 时,是否将其配置为使用混合模式身份验证?您还可以直接使用 SQL Management Studio 连接,使用 SQL 身份验证或 Windows 身份验证吗?

于 2008-11-05T16:39:31.377 回答
0

我很确定它不能在 SQL Server 端,因为我能够从与我现在尝试连接的服务器完全不同的服务器进行连接。会不会是我正在使用的服务器的问题?如果是这样,有什么可能的解决方案?

与一些同事交谈时,他们说他们过去没有尝试连接到该服务器。我只是觉得很奇怪我能够从一台服务器连接但不能从另一台服务器连接。

于 2008-11-05T17:23:10.413 回答
0

以下是从 ASP.NET 应用程序建立数据库连接时遇到问题时要执行的步骤清单

  1. 您可以从 ASP.NET 服务器 ping 数据库服务器吗?
  2. 您可以使用来自 ASP.NET 服务器的 SQL 身份验证和 Management Studio 连接到数据库吗?
  3. 使用非常简单的小回报查询编写一个页面以用作测试。可以用测试页查询数据库吗?不要依赖任何 web.config 条目,手动输入所有连接字符串和查询数据(不要将此测试页面留在服务器上超过测试所需的时间)
  4. 如果您的测试页失败,错误是什么?如果您从 ASP.NET 服务器控制台进行测试,您应该会得到一个可能表明问题的详细错误。
  5. 如果您有多个服务器数据库,请绝对确保您连接到您认为的服务器;)

一般提示:Management Studio 可能是最好的测试 - 如果您可以通过 Management Studio 从 ASP.NET 服务器通过 Windows 和 SQL 身份验证进行连接,那么问题一定出在您的 ASP.NET 应用程序配置上。

您提到您收到“COMPANY\name”未授权的显式身份验证错误。你在运行域控制器吗?“COMPANY”是域名吗?如果没有,ASP.NET 可能没有使用您的域帐户对数据库进行身份验证。

如果您必须使用 Windows 授权,请记住在 web.config 中启用模拟:

<identity impersonate="true" />

您还需要在您的站点的 IIS 配置中禁用匿名访问并启用集成安全性。

HTH。

于 2008-11-05T19:12:17.120 回答