关于“telnet localhost:1433 不能打开到主机的连接, 在端口 23: 连接失败”问题

时间:2022-12-25 15:22:09
系统配置:xp+sql server2000(SP4)

在“SQL查询分析器”里执行“select @@version”命令显示“Microsoft SQL Server 2000 - 8.00.2039 "说明补丁已经打上。

但在命令提示符下用“telnet localhost:1433”命令测试还是显示:“正在连接到localhost:1433...不能打开到主机的连接, 在端口 23: 连接失败”。

然后用“netstat -an”命令,在结果列表里看发现有 tcp 127.0.0.1 1433 listening 的项。但就是连接不上1433端口。

请高手帮忙解决一下。

PS:我的防火墙是关闭的、杀毒软件卡巴默认不启动的(几个星期启动一次来检查一下机器)、360安全卫士也都退出,现在开着的软件里已经找不到其它的第三方软件了。但结果还是这样。用“网络实用工具”查过了,确实是使用的1433端口。 

25 个解决方案

#1


关注...

#2


sql2000 telnet 1433端口无法连接2008-12-31 21:521、数据库服务未启动。
2、防火墙屏蔽了对telnet的响应。
3、SQL服务未在1433端口上启动监听。 
如果你用查询分析器可以连接上,应用软件也连得上,只是Telnet 1433端口失败;并且也未改动过服务端口,其它都是正常的,那么这种问题在XP2+SQL SERVER 2000环境中最常见。解决办法几种:
1、反安装XP2的补丁,这样通常是不会出现SQL SERVER连不上的问题的。
2、XP2的操作系统安装SQL SERVER 2000的SP3补丁可解决Telnet SQL SERVER的1433端口无法打开的问题。
3、其它操作系统比如2003的,最好补一下SQL SP4的。

检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
select @@version
如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.

SQL补丁下载:
全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
应该安装的是
http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE
注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装

如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问

如何检查1433是否在监听?或者检查有哪些端口在监听?
1、如果打了sql sp3,并且windows2003防火墙已经关闭, 在命令提示符下执行
netstat -na 应该可以看到tcp 1433在监听。
2、启动企业管理器查看SQL SERVER 2000 的系统日志,在日志中可以看到SQL SERVER 启动的是那些协议来等待远程连接的。

另外记得打完补丁,重新启动机器,或者重新启动服务。
 

#3


       远程连接sql server 2000服务器的解决方案 
        
        解决方案步骤: 
        一 看ping 服务器IP能否ping通。 
        这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得 
        确保远程sql server 2000服务器的IP拼写正确。 
        二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 
        如telnet 202.114.100.100 1433 
        通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问 
        题。通常的提示是“……无法打开连接,连接失败"。 
        如果这一步有问题,应该检查以下选项。 
        1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。 
        2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上 
        打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果 
        没有,则启用它。 
        3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属 
        性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。 
        事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配 
        置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器, 
        起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相 
        应的改变。 
        4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试 
        时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。 
        5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在 
        服务器的dos或命令行下面输入 netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 
        1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询 
        分析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。 
        如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭 
        喜你,你马上可以开始在企业管理器或查询分析器连接了。 
        
        三 检查客户端设置 
        程序->Microsoft SQL Server-> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议 
        启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。 
        
        四 在企业管理器里或查询分析器连接测试 
        企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步-> 选Sqlserver登陆->下一 
        步->写入登陆名与密码(sa,password)->下一步->下一步->完成 
        查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定 
        通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查 
        询分析器是15秒。 
        修改默认连接超时的方法: 
        企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在 登 
        录超时(秒) 后面的框里输入一个较大的数字 
        查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字 
        通常就可以连通了,如果提示错误,则进入下一步。 
        五 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的 
        登录帐户(如 sa )进行连接。解决方法如下所示: 
         1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。 
          2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。 
          3 在"身份验证"下,选择"SQL Server和 Windows "。 
          4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务,net start 
        mssqlserver启动服务,也是一种快捷的方法)。 
        
        注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个) 
        ,默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)。

#4


打过补丁SP4,而且使用netstat -na 以看到tcp 1433在监听。

但是在用JSP连接数据库的时候就是出现[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 

#5


真的很急,昨天调了一天也没调通,请教大侠帮帮忙。

#6


看一下你的sql是用的1433端口吗?

#7


在“SQL查询分析器”里执行“select @@version”命令显示“Microsoft SQL Server 2000 - 8.00.2039 "说明补丁已经打上。
--没看出来。
想问一下,楼主的服务器重启了吗?

#8


不确定问题出在哪里,友情up

#9


服务器重启了好些遍 都不成

#10


引用楼主 beggar_monk 的帖子:
系统配置:xp+sql server2000(SP4) 

在“SQL查询分析器”里执行“select @@version”命令显示“Microsoft SQL Server 2000 - 8.00.2039 "说明补丁已经打上。 

但在命令提示符下用“telnet localhost:1433”命令测试还是显示:“正在连接到localhost:1433...不能打开到主机的连接, 在端口 23: 连接失败”。 

然后用“netstat -an”命令,在结果列表里看发现有 tcp 127.0.0.1 1433 listening 的项。但就是连接不上1433端…


我的
select @@version
Microsoft SQL Server  2000 - 8.00.760 (Intel X86)   Dec 17 2002 14:22:05   Copyright (c) 1988-2003 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) 

请你把sp4卸下来吧,我认为是程序安装的问题?

#11


用客户端网络实用工具配置一下试试呢!

#12


同问~~  我也有这样的问题  
是xp系统

#13


是否已关闭XP自带的防火墙?

#14


1,关闭windows自身的防火墙
2、确认服务器端使用的是1433端口
3、查询分析器 ip,1433可行?

#15


用查询分析器登录下,看看能登录吗?

还有就是你安装的时候是不是指定实例名了啊 ,登录的时候要加上实例名
.\实例名

#16


是:
telnet localhost 1433
不是:
telnet localhost:1433

#17


我上次连2005也是这样,后来把SQL实例名字写全了就可以连接了

#18


telnet 127.0.0.1 1433 
如果不行看身份验证是否为混合验证。打SP4补丁。

#19


试了N久,我的连好了,回头链下看过的贴子,以示回报,帮助后人。 
http://hi.baidu.com/seuwwe/blog/item/a627558742fe8722c75cc3e8.html 

#20


我的补丁也打好了 可是在dos里输 telnet 127.0.0.1 1433时 还是会出现 不能打开主机的连接 在端口1433:连接失败呢 
防火墙什么的 全都时关了的 

#21


尝试使用命名管道或共享内存访问实例,以确定实例是否可以被正常访问。

检查一下 SQL Server 的错误日志,是否有类似“listening 1433/tcp”的信息。

最关键的是,lz 使用的是什么版本的 SQL SERVER?是否是先安装 MSDE,再安装的?
因为 MSDE SP4 以下版本会有无法打开 TCP/IP 的 BUG。如果是这样,最好换开发版。

#22


谢谢啊,刚才打完补丁SP3,就可以远程连接访问啦

#23


一定要打补丁吗?

#24


为什么我监听1434在listening,1433没有

#25


是不是防火墙的问题,或者你的服务器没有启用TCP/IP协议

#1


关注...

#2


sql2000 telnet 1433端口无法连接2008-12-31 21:521、数据库服务未启动。
2、防火墙屏蔽了对telnet的响应。
3、SQL服务未在1433端口上启动监听。 
如果你用查询分析器可以连接上,应用软件也连得上,只是Telnet 1433端口失败;并且也未改动过服务端口,其它都是正常的,那么这种问题在XP2+SQL SERVER 2000环境中最常见。解决办法几种:
1、反安装XP2的补丁,这样通常是不会出现SQL SERVER连不上的问题的。
2、XP2的操作系统安装SQL SERVER 2000的SP3补丁可解决Telnet SQL SERVER的1433端口无法打开的问题。
3、其它操作系统比如2003的,最好补一下SQL SP4的。

检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
select @@version
如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.

SQL补丁下载:
全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
应该安装的是
http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE
注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装

如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问

如何检查1433是否在监听?或者检查有哪些端口在监听?
1、如果打了sql sp3,并且windows2003防火墙已经关闭, 在命令提示符下执行
netstat -na 应该可以看到tcp 1433在监听。
2、启动企业管理器查看SQL SERVER 2000 的系统日志,在日志中可以看到SQL SERVER 启动的是那些协议来等待远程连接的。

另外记得打完补丁,重新启动机器,或者重新启动服务。
 

#3


       远程连接sql server 2000服务器的解决方案 
        
        解决方案步骤: 
        一 看ping 服务器IP能否ping通。 
        这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得 
        确保远程sql server 2000服务器的IP拼写正确。 
        二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 
        如telnet 202.114.100.100 1433 
        通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问 
        题。通常的提示是“……无法打开连接,连接失败"。 
        如果这一步有问题,应该检查以下选项。 
        1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。 
        2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上 
        打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果 
        没有,则启用它。 
        3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属 
        性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。 
        事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配 
        置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器, 
        起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相 
        应的改变。 
        4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试 
        时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。 
        5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在 
        服务器的dos或命令行下面输入 netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 
        1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询 
        分析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。 
        如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭 
        喜你,你马上可以开始在企业管理器或查询分析器连接了。 
        
        三 检查客户端设置 
        程序->Microsoft SQL Server-> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议 
        启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。 
        
        四 在企业管理器里或查询分析器连接测试 
        企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步-> 选Sqlserver登陆->下一 
        步->写入登陆名与密码(sa,password)->下一步->下一步->完成 
        查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定 
        通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查 
        询分析器是15秒。 
        修改默认连接超时的方法: 
        企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在 登 
        录超时(秒) 后面的框里输入一个较大的数字 
        查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字 
        通常就可以连通了,如果提示错误,则进入下一步。 
        五 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的 
        登录帐户(如 sa )进行连接。解决方法如下所示: 
         1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。 
          2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。 
          3 在"身份验证"下,选择"SQL Server和 Windows "。 
          4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务,net start 
        mssqlserver启动服务,也是一种快捷的方法)。 
        
        注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个) 
        ,默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)。

#4


打过补丁SP4,而且使用netstat -na 以看到tcp 1433在监听。

但是在用JSP连接数据库的时候就是出现[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 

#5


真的很急,昨天调了一天也没调通,请教大侠帮帮忙。

#6


看一下你的sql是用的1433端口吗?

#7


在“SQL查询分析器”里执行“select @@version”命令显示“Microsoft SQL Server 2000 - 8.00.2039 "说明补丁已经打上。
--没看出来。
想问一下,楼主的服务器重启了吗?

#8


不确定问题出在哪里,友情up

#9


服务器重启了好些遍 都不成

#10


引用楼主 beggar_monk 的帖子:
系统配置:xp+sql server2000(SP4) 

在“SQL查询分析器”里执行“select @@version”命令显示“Microsoft SQL Server 2000 - 8.00.2039 "说明补丁已经打上。 

但在命令提示符下用“telnet localhost:1433”命令测试还是显示:“正在连接到localhost:1433...不能打开到主机的连接, 在端口 23: 连接失败”。 

然后用“netstat -an”命令,在结果列表里看发现有 tcp 127.0.0.1 1433 listening 的项。但就是连接不上1433端…


我的
select @@version
Microsoft SQL Server  2000 - 8.00.760 (Intel X86)   Dec 17 2002 14:22:05   Copyright (c) 1988-2003 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) 

请你把sp4卸下来吧,我认为是程序安装的问题?

#11


用客户端网络实用工具配置一下试试呢!

#12


同问~~  我也有这样的问题  
是xp系统

#13


是否已关闭XP自带的防火墙?

#14


1,关闭windows自身的防火墙
2、确认服务器端使用的是1433端口
3、查询分析器 ip,1433可行?

#15


用查询分析器登录下,看看能登录吗?

还有就是你安装的时候是不是指定实例名了啊 ,登录的时候要加上实例名
.\实例名

#16


是:
telnet localhost 1433
不是:
telnet localhost:1433

#17


我上次连2005也是这样,后来把SQL实例名字写全了就可以连接了

#18


telnet 127.0.0.1 1433 
如果不行看身份验证是否为混合验证。打SP4补丁。

#19


试了N久,我的连好了,回头链下看过的贴子,以示回报,帮助后人。 
http://hi.baidu.com/seuwwe/blog/item/a627558742fe8722c75cc3e8.html 

#20


我的补丁也打好了 可是在dos里输 telnet 127.0.0.1 1433时 还是会出现 不能打开主机的连接 在端口1433:连接失败呢 
防火墙什么的 全都时关了的 

#21


尝试使用命名管道或共享内存访问实例,以确定实例是否可以被正常访问。

检查一下 SQL Server 的错误日志,是否有类似“listening 1433/tcp”的信息。

最关键的是,lz 使用的是什么版本的 SQL SERVER?是否是先安装 MSDE,再安装的?
因为 MSDE SP4 以下版本会有无法打开 TCP/IP 的 BUG。如果是这样,最好换开发版。

#22


谢谢啊,刚才打完补丁SP3,就可以远程连接访问啦

#23


一定要打补丁吗?

#24


为什么我监听1434在listening,1433没有

#25


是不是防火墙的问题,或者你的服务器没有启用TCP/IP协议