edrp.cn的Blog

学习,需要交流,欢迎大家和我共同来学习C#,ASP.NET,MS SQL Server开发Web项目,欢迎大家和我交流

博客园 首页 新随笔 联系 订阅 管理
前两天安排手下给你一个客户做服务,遇到了ODBC都连接不到SQL Server 2000的错误。经过检查发现可能是如下错误:
一种可能是sql本身的bug
二种可能是安装的英文版本,在汉化的过程中出现了问题
解决方法可以按照微软官方网站的方法:
在 SQL Server 2000 自定义安装中,如果只选择了 TCP/IP 协议,并禁用了所有其他协议,SQL Server 可能无法初始化并侦听 TCP/IP 套接字。服务器网络实用程序显示它正在侦听 TCP/IP 端口 1433,但它并未侦听该端口。客户机可能无法连接,并且可能会出现以下错误消息:
Connection failed:SQL State:'01000' SQL Server Error:11004 [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen (Connect()).Connection Failed:SQL State:'08001' SQL Server Error:6 [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]Specified SQL server not found.
Unable to connect to server 'servername':Server:Msg 6, Level 16 state 1. [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]Specified SQL server not found.
[TCP/IP Sockets]Specified SQL server not found.[TCP/IP Sockets]ConnectionOpen (Connect()).
请注意:除这种特定情况外,如果有其他 TCP/IP 连接问题,也可能会出现以上错误消息。要确定 SQL Server 是否在侦听 TCP/IP 端口,请检查以下注册表项中的 TcpPort 是否被错误地设置为空:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ [Instance Name]\MSSQLServer\SuperSocketNetLib\Tcp\REG_SZ TcpPort=

若要解决此问题,请按照下列步骤操作:
  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 在以下注册表项中找到 TcpPort 值:
    命名实例:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[InstanceName]\MSSQLServer\SuperSocketNetLib\Tcp\TcpPort

    默认实例:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\TCP\TcpPort
  3. 编辑菜单上,单击字符串。输入以下两个值之一:
    1. 键入您希望的端口号。
      - 或 -

    2. 输入值 0 以让 SQL Server 在下次启动时动态检测并指定一个端口。
  4. 单击确定
  5. 退出注册表编辑器。

也可以按照如下方法:
卸载之前安装的数据库,再安装原版的SQL Server2000 数据库企业版(中英版本都可以),接着要打上SP4升级包。

posted on 2009-08-12 01:12  edrp.cn  阅读(1404)  评论(0编辑  收藏  举报