如何解决 SQL Server 2000 中的连接问题( 四 )

如果 Telnet 程序没有成功,并且您接收到错误信息,请解决此错误然后尝试再次连接 。
注意:因为由 Slammer 病毒引起的问题,在您的防火墙上,用户数据报协议 (UDP) 端口 1434 可能被阻挡 。
解决身份验证和安全问题loadTOCNode(3, "moreinformation");由于身份认证失败,可能无法连接到 SQL Server 。如果身份认证失败,您可能收到下列错误信息之一:
Login failed for user ""Login failed for user "NTAUTHORITYANONYMOUS LOGON"Login failed for user "null"如果您由于身份认证失败收到了错误信息,而且错误信息中没有提到一个明确的 SQL Server 登录名,请使用 Windows 身份认证解决该问题 。由于 Windows 身份认证的问题,您可能会收到下列错误信息: Cannot generate SSPI Context下列问题可能会引起身份认证和安全问题: ?NTLM 身份认证或 Kerberos 身份认证出现问题 。?由于连接问题,无法联系域控制器 。?域之间的信任关系出现问题 。有关可能原因的更多信息,请参见计算机上的事件日志 。要解决 Windows 身份认证的连接问题,您可以使用 SQL Server 身份认证连接到 SQL Server 实例 。有关如何诊断和解决“Cannot Generate SSPI Context”错误的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 811889 (http://support.microsoft.com/kb/811889/) 如何排除“Cannot generate SSPI context”错误信息 如果在使用 SQL Server 身份认证时连接没有成功,您会收到下列错误信息: Login failed for user "" .Not associated with a trusted connection
若要解决此问题,请按照以下步骤操作 。
警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统 。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题 。使用“注册表编辑器”需要您自担风险 。1.请确认 SQL Server 实例配置为使用 Windows 身份认证和 SQL Server 身份认证 。为此,请确认在正在运行 SQL Server 的计算机上存在下列注册表项 。对于默认的 SQL Server 实例: HKEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerMSSQLServerLoginMode对于 SQL Server 的命名实例: HKEY_LOCAL_MACHINESoftwareMicrosoftMicrosoft SQL ServerMSSQLServerLoginMode请确认已设置下列注册表项的值:
身份认证类型值仅限于 Windows 身份认证1混合模式(SQL Server 身份认证和 Windows 身份认证)2
注意:如果您对注册表进行了任何更改,必须关闭并重新启动 SQL Server 实例使更改生效 。2.尝试使用其他 Windows 帐户或 SQL Server 登录帐户连接到 SQL Server 实例 。这样能够帮助确定是否是由于某个特殊的登录帐户的问题而造成连接失败 。例如,登录帐户的密码可能已被更改 。3.尝试使用其他协议连接到 SQL Server 实例 。例如,使用 TCP/IP 协议进行 Windows 身份认证的连接可能会失败,但是使用命名管道协议进行 Windows 身份认证的连接就可能会成功 。如果您正在使用证书,当尝试连接到 SQL Server 实例时,可能会收到一条安全套接字层 (SSL) 安全错误信息 。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 316898 (http://support.microsoft.com/kb/316898/) 如何借助 Microsoft Management Console 为 SQL Server 2000 启用 SSL 加密 322144 (http://support.microsoft.com/kb/322144/) FIX:SECDoClientHandShake 无法连接到 SQL Server
解决 TCP/IP 套接字上的压力问题loadTOCNode(3, "moreinformation");在使用 SQL Server ODBC 驱动程序、Microsoft OLE DB Provider for SQL Server 或 System.Data.SqlClient 管理提供程序时,可以使用恰当的应用程序编程接口 (API) 来禁用连接池 。在禁用连接池、并且应用程序频繁打开和关闭连接时,对基本 SQL Server 网络库的压力可能会增大 。有时候,Web 服务器和 JDBC 驱动程序也会尝试连接到 SQL Server 实例 。因此,对 SQL Server 连接需求的增加可能会超过 SQL Server 的处理能力 。这可能会给 TCP/IP 套接字带来压力,您还可能在 SQL Server 错误日志文件中收到下列错误信息: 2003-08-07 20:46:21.11 server Error:17832, Severity:20, State:6

推荐阅读