ASP.NET无法连接到SQL Server 2005

ASP.NET无法连接到SQL Server 2005,asp.net,sql-server,windows-authentication,Asp.net,Sql Server,Windows Authentication,我正在尝试创建一个ASP页面,该页面具有与SQLServer2005数据库的桥接连接(与ASP服务器分开)。为此,我尝试使用Windows身份验证设置。我的姓名拥有SQL server的完全权限,但仍然出现错误“登录用户COMPANY\name失败”。为了查看这是否只是Windows身份验证问题,我尝试进行SQL Server身份验证;这也不会让我登录。我不知道SQL身份验证为什么会出现问题,但我确实需要一些帮助来弄清楚Windows身份验证为什么不起作用。谢谢你抽出时间 问候, Franco不

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

问候,


Franco

不要将Windows身份验证用于此类连接


您可以发布一份您用于WA和SQLauth的连接字符串副本(经过消毒-更改密码)吗?

我假设它们位于同一个域上(因为您提到了公司名称)

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


如果您使用的是Windows Auth,您是在尝试指定单个用户作为连接用户,还是使用了当前用户的标识?如果您希望将单个用户指定为始终连接为,我建议使用SQL Server帐户而不是域帐户。

尝试剥离用户名的域部分-公司\用户-这可能会干扰身份验证

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


SQL Server身份验证-是否已创建用户并将其附加到具有读取权限的数据库?

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

您说过,当您尝试使用SQL身份验证(我猜是SQL Server用户id和密码)登录SQL Server时,它不允许您进入。这意味着SQL Server端存在一些问题。确保SQL Server已设置为混合模式身份验证。这意味着,如果您提供sql server用户id和密码,它应该能够允许您使用windows身份验证


这是一个指针。还有一点大家都在说,不要使用windows身份验证从ASP页面连接到SQL Server。要使其正常工作,您需要将域用户设置为SQL Server用户。今天您是唯一使用此页面的人,明天您需要将此页面提供给整个组织时如何?

我很确定它不能位于SQL Server端,因为我可以从一个完全不同的服务器连接,而不是从现在开始尝试连接的服务器。这可能是我使用的服务器的问题吗?如果是,可能的解决方案是什么


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

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

  • 能否从ASP.NET服务器ping数据库服务器
  • 是否可以从ASP.NET服务器使用SQL Authentication and Management Studio连接到数据库
  • 编写一个包含非常简单的小返回查询的页面,用作测试。你能用测试页面查询数据库吗?不要依赖任何web.config条目,手动输入所有连接字符串和查询数据(不要将此测试页留在服务器上超过测试所需的时间)
  • 如果测试页面失败,错误是什么?如果从ASP.NET服务器控制台进行测试,您应该会得到一个可能指示问题的详细错误
  • 如果您有多个服务器数据库,请确保您正在连接到您认为是的服务器;) 一般提示: Management Studio可能是最好的测试—如果您可以通过Windows和SQL身份验证从ASP.NET服务器通过Management Studio进行连接,那么问题一定出在您的ASP.NET应用程序配置上

    您提到您收到一个明确的身份验证错误,即“COMPANY\name”未经授权。您正在运行域控制器吗?“COMPANY”是域名吗?否则,ASP.NET可能不会使用您的域帐户对数据库进行身份验证

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

    <identity impersonate="true" />
    
    
    
    您还需要在站点的IIS配置中禁用匿名访问并启用集成安全性