不允许进行远程连接可能会导致此失败 error: 40 (总结)

Port number for SQL Server 2005 is not 1433.
To obtain the <port>, select SQL Server 2005 Network Configuration>Protocols for SQLEXPRESS in SQL Server Configuration Manager. Right-click on TCP/IP node and select Properties.
In the TCP/IP Properties tab, select the IP Addresses tab. In IP ALL section, the TCP Dynamic Ports specifies the <port> value
--------------------------------------------------------------
汉语版的SqlServer是:程序-〉Microsoft Sql Server 2005-〉配置工具-〉Sql Server Configuration Manager 然后:Right-click on TCP/IP node and select Properties,In the TCP/IP Properties tab, select the IP Addresses tab. In IP ALL section, the TCP Dynamic Ports specifies the <port> value

--------------------------------------------------------------
SQL Server2005的默认端口不是1433。在SQL Server配置管理器中选择SQL Server2005网络配置,选择你的数据库的协议,右键单击TCP/IP协议,然后选择属性,在IP地址
(In IP ALL section)中,将动态端口改为1433,重启服务器即可。
----------事实是重起Sql Server Configuaration Manager 中的 (sql server 2005 服务)右键-〉打开
中的Sql Server(liufei)右键-〉停止(启动)即可
来源:
http://forum.java.sun.com/thread.jspa?threadID=733664
我的机器当时端口是1258
IP1 section & IP2 section 活动选“是” 已启用 选“否”是对的!
IPALL section TCP 动态端口填1433 TCP端口空白不填

********************************************************************************

事实上关于SQL Server 2005的远程连接问题,
在MSDN上就有很详细的解答,SQL Server 2005的联机文档上也有相关的内容,
总结起来就是以下几个要点:
1、打开SQL Server 2005的TCP/IP连接.
2、在装有防火墙的主机上,需要开放连接所需的端口,只有一个实例的主机上,默认是TCP1433端口.
3、客户端在连接时,需要指定连接的端口号,例如1433,否则,就需要启用SQL Server Browser服务,并开放防火墙的UDP1434端口。
4、启动SQL Server Brower服务后,会接受未经验证的请求,从而带来安全隐患,所以应该使SQL Server Browser服务由较低权限的用户来启动。
关于原理,可以参考MSDN的资料,自己查吧.
来源:网上
*********************************************************

Sql Server连接的端口问题

昨天遇到一个比较奇怪的问题,机器A、机器B,都装有Sql Server2000C#程序从AB上的数据库OK,但是从BA的数据库总是有异常,异常提示“在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败”。

由于AB上都装有VS2005,带着装了Sql Server2005Express,当时便怀疑是Sql Server2005在搞鬼,拿异常信息上网搜了一下,按照网上的解决方法一步步配置了Sql Server2005,结果问题并没有解决。

后来发现这些异常信息有时候也会误导人,实际的问题跟Sql Server2005Express并没有关系,而是出在Sql Server2000的端口设置上,因为A机器上的数据库端口不是默认的1433,导致程序连接不上。

关于Sql Server2000远程连接,也找到了一篇文章,整理一下,以后可以按下面的步骤处理:

1)看Ping 服务器IP能否能通。这个实际上是看和远程Sql Server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程Sql Server 2000服务器的IP拼写正确。

2 Dos或命令行下输入Telnet 服务器IP端口,看能否连通。如Telnet 202.114.100.100 14331433Sql 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,在客户端连接时必须作相应的改变。

(如果端口不是1433,则在程序中设置连接字符串时,应类似“server=192.168.6.10,2433;database=….”)

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的补丁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值