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


2003-08-07 20:46:21.11 server Connection opened but invalid login packet(s) sent.Connection closed.
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 154628 (http://support.microsoft.com/kb/154628/) INF:SQL 在遇到多个 TCPIP 连接请求时记录 17832 328476 (http://support.microsoft.com/kb/328476/) 禁用连接池时 SQL Server 驱动程序的 TCP/IP 设置
注意:如果运行 SQL Server 2000 SP3 或 SQL Server 2000 SP3a,则不会注意到对 TCP/IP 套接字的压力,这是由于添加了对登陆数据包数量的限制 。在使用第三方驱动程序连接到 SQL Server 实例时,发生错误 17832 。要解决该问题,请与第三方供应商联系,并获取经测试证明能够用于 SQL Server 2000 SP3 和 SQL Server 2000 SP3a 的驱动程序 。
查看 SQL Server 实例是否以单用户模式启动loadTOCNode(3, "moreinformation");如果尝试连接的 SQL Server 实例是以单用户模式启动的,只能建立一个到 SQL Server 的连接 。如果运行软件的计算机自动连接到 SQL Server,该软件可以轻松地使用唯一的连接 。例如,下面的软件可以自动连接到 SQL Server 实例: ?SQL Server 代理程序?第三方备份软件?第三方监测软件?第三方病毒软件?Microsoft Internet 信息服务 (IIS)?SQL Server 企业管理器尝试连接到 SQL Server 实例的客户端应用程序收到下列错误信息: SQL Server does not exist or Access Denied当安装过程以单用户模式启动 SQL Server 实例时,此错误一般发生在 SQL 群集安装和服务软件包安装期间 。指定的应用程序会自动连接到使用唯一可用连接的 SQL Server 实例,从而安装失败 。
要确定 SQL Server 实例是否已经以单用户模式启动,请检查 SQL Server 错误日志文件中是否具有一个与以下类似的条目: 2003-07-31 11:26:43.79 spid3 Warning ******************
2003-07-31 11:26:43.80 spid3 SQL Server started in single user mode.Updates allowed to system catalogs.
验证到 SQL Server 的命名管道连接loadTOCNode(3, "moreinformation");如果您无法使用命名管道连接到 SQL Server 实例,请确认 SQL Server 实例配置为接受命名管道连接 。有关测试命名管道的过程的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 68941 (http://support.microsoft.com/kb/68941/) INF:测试命名管道的过程
解决在恢复过程中连接超时的问题loadTOCNode(3, "moreinformation");在每次启动一个 SQL Server 实例时,SQL Server 将恢复各个数据库 。在此恢复过程中,SQL Server 回滚未提交的事务 。当停止 SQL Server 实例时,SQL Server 还将前滚已提交的事务和没有写入硬盘的更改 。当恢复过程完成时,SQL Server 将在 SQL Server 错误日志文件中写入下列信息: Recovery Complete在恢复过程中,SQL Server 可能不会接受连接 。在此时间内尝试连接到 SQL Server 的客户端可能会收到一条与以下类似的错误信息: Timeout ExpiredSQL Server 代理服务可能无法启动,这是因为它要等待 SQL Server 恢复数据库 。因此,当您在 SQL Server 错误日志文件中收到下面的信息时,连接不再会因为超时错误而失败: Recovery Complete如果恢复过程花费的时间很长,您也许还要排除恢复过程的故障 。
测试连接到 SQL Server 实例的不同方法loadTOCNode(3, "moreinformation");当您连接到 SQL Server 实例时,如果遇到了连接问题,可以使用下面的一种或多种方法来解决连接问题 。?使用SQL Server 身份认证和 Windows 身份认证测试到 SQL Server 实例的连接 。?从其他数据源(例如 ODBC DSN、.udl 文件、SQL 查询分析器、SQL Server 企业管理器,isql 实用程序或 osql 实用程序)测试到 SQL Server 实例的连接 。?使用其他协议测试到 SQL Server 实例的连接 。您可以为使用该协议的 SQL Server 实例创建一个新的别名,从而指定不同的协议 。还可以通过在 SQL Server 实例名称的开始处添加 tcp:、 np:、 lpc:、或 rpc: 来指定您的连接字符串中的协议 。例如,如果 TCP/IP 连接失败,则命名管道连接成功 。?使用其他登录帐户测试连接,这样可以帮助您确定该问题是否与某个特定的登录帐户有关 。?在 %systemroot%system32driversetchosts 文件中添加一个与正在运行 SQL Server 实例的计算机的 IP 地址相应的条目 。?尝试从运行 SQL Server 的计算机和客户端连接到 SQL Server 实例 。?如果您正从运行 SQL Server 的计算机进行连接,可以指定“.”或“(本地)”(不带引号)取代服务器名称,然后连接 。?尝试使用 IP 地址而不是服务器名称连接到 SQL Server 实例 。?尝试指定 SQL Server 实例正在侦听的特定端口 。有两种方法:创建一个别名或将一个端口号添加到连接字符串(例如 MyServerMyInstance,1433) 。捕捉网络监视器踪迹loadTOCNode(3, "moreinformation");如果使用“测试连接到 SQL Server 2000 实例的各种方法”小节中提到的步骤无法解决连接问题,请使用网络监视器实用程序捕捉网络踪迹 。有关网络追踪的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 148942 (http://support.microsoft.com/kb/148942/) 如何使用网络监视器捕获网络通讯量

推荐阅读