Select the product you need help with
您可能无法通过使用匿名登录连接到的 SQL Server 实例文章编号: 839569 - 查看本文应用于的产品 重要本文包含如何帮助降低安全设置或如何关闭计算机上的安全功能为您显示的信息。您可以通过这些更改来解决特定问题。您在进行这些更改之前,我们建议您考虑在您的特定环境中实施该替代方法带来的风险。如果实施该替代方法,采取任何适当的附加措施来帮助保护您的系统。 概要当您将添加 NT AUTHORITY\ANONYMOUS 登录登录到您的 Microsoft SQL Server 2000 或 Microsoft SQL Server 2005 实例,以便 SQL Server 实例接受通过 Microsoft Windows 集成安全性的匿名登录,然后尝试连接到 SQL Server 作为匿名用户的实例,连接尝试可能会无法成功并可能会收到以下错误消息: 登录失败,(null) 的用户。原因: 未与受信任的 SQL Server 连接关联。 事件类型: 错误 事件源: LsaSrv 事件类别: 无 事件 ID: 6033 日期: <date> 时间: <time> 用户: 不适用 计算机: < 计算机名 > 说明: 从连接一个匿名会话 < 计算机名称 > 已尝试打开此计算机上的 LSA 策略句柄。在尝试被拒绝与 STATUS_ACCESS_DENIED 以防止匿名调用方的泄漏安全敏感信息。 做此尝试的应用程序需要修复。请与应用程序供应商联系。作为临时的解决方法可以禁用此安全措施通过设置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlock DWORD 值为 1。
原因当试图连接到实例 SQL Server 作为匿名用户的匿名连接试图打开 LSA 策略句柄在运行的 SQL Server 实例的计算机上。默认状态下,Windows Server 2003 成员服务器拒绝尝试打开一个 LSA 策略句柄,如果 TurnOffAnonymousBlock 注册表值未设置为 1 的匿名连接尝试。因此,您匿名连接不成功。 此外,SQL Server 接收到匿名连接请求之后,SQL Server 将调用 LookupAccountSid Windows API 函数以获取帐户名称。如果因为匿名连接的上下文中调用该函数时,还失败函数调用该 网络访问: 允许匿名 SID/名称转换 不启用安全选项。替代方法警告此替代方法可能会使您的计算机或网络更容易受到恶意用户或恶意软件 (如病毒的攻击。我们不建议使用此替代方法,但提供此信息,以便您可以在您应自行决定实施此替代方法。使用此替代方法需要您自担风险。 要变通解决此问题,请在运行 Windows Server 2003,允许匿名连接 SQL Server 2005 年或 SQL Server 2000 的计算机上按照下列步骤操作:
TurnOffAnonymousBlock 注册表项来控制匿名连接尝试。因此,如果运行的 Windows Server 2003 的域控制器上安装了您的实例的 SQL Server,匿名连接尝试的 SQL Server 实例不会会失败。更多信息在运行 Windows Server 2003 的计算机,安全检查试图访问该计算机的匿名连接上执行的是更严格。如果您创建正在运行 Microsoft Internet Information Services (IIS) 6.0 在 Web 服务器上使用 Windows 身份验证和模拟的 Microsoft ASP.NET 网页,但您不能委派的用户帐户试图从 ASP.NET 页连接到远程 SQL Server 实例是 NT AUTHORITY\ANONYMOUS 登录登录的安全上下文中。您可以配置您的实例的 SQL Server 接受匿名连接通过 Windows Integrated 安全机制,通过添加 NT AUTHORITY\ANONYMOUS LOGON 登录 SQL Server 的用户身份和通过向用户授予所需的权限。当您将添加 NT AUTHORITY\ANONYMOUS 登录登录到 SQL Server 您份匿名连接不提供任何登录凭据的情况下可以访问 SQL Server 数据。 重要我们建议不要允许匿名访问 SQL Server。授予对 NT AUTHORITY\ANONYMOUS 登录登录的所有权限可以被任何用户都可以连接到运行 SQL Server 的计算机都使用。如果您必须允许匿名访问您的实例的 SQL Server,我们建议只有读取的权限授予 NT AUTHORITY\ANONYMOUS 登录登录以查看您要公开可 SQL Server 数据。 此外,建议只执行权限被授予 SQL Server 存储过程的执行有限的操作的程序。 而不是的允许匿名连接的 SQL Server 您实例,您可以授予到特定 SQL Server 帐户所需的访问权限和在 ASP.NET 中的连接字符串中传递 SQL Server 帐户的登录凭据页。使用 SQL Server 身份验证可以避免的 SQL Server 实例在匿名连接的尝试,并更安全。 如果该 网络访问: 允许匿名 SID/名称转换 正在运行 Windows Server 2003 的计算机上启用了安全选项,可以建立网络连接到计算机的所有用户可以都查找帐户名称的任何已知的安全标识 (SID) 如管理员帐户。通过使用如密码猜测方法连接到服务器,或失败的登录尝试使用帐户锁定,恶意攻击者可能会使用此信息。 如果将 TurnOffAnonymousBlock 注册表值的值设置为 1,匿名连接的本地安全机构打开该策略的句柄。LSA 策略有关的详细信息,请访问以下 MSDN 网站:http://msdn2.microsoft.com/en-us/library/ms721831.aspx
(http://msdn2.microsoft.com/en-us/library/ms721831.aspx)
http://msdn2.microsoft.com/en-us/library/ms722489.aspx
(http://msdn2.microsoft.com/en-us/library/ms722489.aspx)
http://msdn2.microsoft.com/en-us/library/ms721833.aspx
(http://msdn2.microsoft.com/en-us/library/ms721833.aspx)
http://msdn2.microsoft.com/en-us/library/ms721874.aspx
(http://msdn2.microsoft.com/en-us/library/ms721874.aspx)
参考有关诊断连接问题,SQL Server 2000 中的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 827422 有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
(http://support.microsoft.com/kb/827422/
)
如何排查 SQL Server 2000 中的连接问题 247931
(http://support.microsoft.com/kb/247931/
)
连接到 SQL Server Active Server Pages 中的连接的身份验证方法 属性文章编号: 839569 - 最后修改: 2009年2月12日 - 修订: 3.0 这篇文章中的信息适用于:
机器翻译 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。 点击这里察看该文章的英文版: 839569
(http://support.microsoft.com/kb/839569/en-us/
)
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 |




回到顶端








