2台电脑连在同一个路由器上,A电脑能远程连接到B电脑的SQL,但是B电脑不能远程连接到A电脑的SQL。

都装了SQL2000,都打的SP4的补丁,防火墙都关了。求大神指点啊,急急急!!

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以下的都需要打补丁。追问

第1,第2做了,我将SQL默认的端口1433改为了4001,并在路由器虚拟服务器里面对本机的IP做了这个端口的映射,第4装了SP4的补丁也关了防火墙,电脑重启,但是用另一台电脑远程连接这个电脑的SQL的时候,还是不行,提示拒绝访问!!求指教

追答

检查客户端配置
点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具
打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议. 一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.
点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致. 单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称, 连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处
.

追问

启用了命名管道以及 TCP/IP 协议.,检查了客户端默认连接端口的设置,该端口是与服务器一致的,别名是SQL Server。还是不行,提示拒绝访问!!求指教

追答

telnet xxx.x.x.x 1433可以不?还有SP4是官方的吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-13
初步推断是共享设置问题,B能共享给A,A不拒绝共享给B。系统共享设置一下试试。追问

怎样设置啊,求指教

追答

不知道你什么系统,设置共享可以在控制面板——管理工具——本地安全策略里设置。
就XP为例(不开启来宾帐户的设置):
在本地安全策略组
网络访问:本地帐户的共享和安全模式,可设置成经典-以本地用户以自己的身份验证
帐户:来宾帐户状态,设置成已停用
帐户:使用空白密码的本地帐户只允许进行控制台登陆,设置成已停用
判断是共享设置正确,那就在网上邻居里能找到对方的电脑并双击,会跳出需要登陆用户名和密码,用户名是administrator,密码不用填,就对了。
(开启来宾帐户的设置简单,用起来麻烦,改个用户名就要重新添加,所以这就不多写了,想了解可以自己去网上查,很多的)

相似回答