发布网友 发布时间:2022-04-19 12:00
共1个回答
热心网友 时间:2023-07-22 08:18
sqlserver
2000无论是个人版、企业版还是标准版,只要细版本在8.00.1760以下,均不提供远程数据库连接,即使服务器端工具和客户端工具的设置均有tcp/ip设置和数据库连接属性也设置了rpc远程连接,仍然不能实现远程连接。该怎么解决呢?
解决方案如下:
首先,需要打sp4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、odbc可连接远程服务器。
要点:
1.确认服务器端sql服务端口号是否为:1433
2.如果不是1433,配置客户端
3.建立服务器端登录帐号,确保角色及管理数据库
一、查看服务器端情况
1.
看ping
服务器ip能否ping通。
这个实际上是看和远程sql
server
服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql
server
服务器的ip拼写正确。
2.
在dos或命令行下输入telnet
服务器ip
端口,看能否连通。
如telnet
202.114.100.100
1433
通常端口值是1433,因为1433是sql
server
的对于tcp/ip的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1)
检查远程服务器是否启动了sql
server
服务。如果没有,则启动。
2)
检查sql
server服务器端有没启用tcp/ip协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开
开始菜单->程序->microsoft
sql
server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3)
检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql
server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见
二:设置客户端网络实用工具)。
4)
如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)
5)
检查服务器是否在1433端口侦听。如果sql
server服务器没有在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
测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。