无法链接到SQL Server远程服务器的解决

 今天连接机房服务器的SQL Server 2005时出现错误,错误信息如下:
 
  在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (.Net SqlClient Data Provider)
 
 一般出现这种情况有几种可能:
  1. 服务器地址不正确或或网络不正常
  2. Sql Server服务器上没有启用远程连接,这种可以性最大
  3. 端口被其它程序占用
  根据判断,于是打开开始菜单——Microsoft SQL Server 2005——配置工具——SQL Server 外围应用配置器,点击“服务和连接的外围应用配置器”,在右边的树状导航中选择:MSSQLSERVER——Database Engine——远程连接,在右边区域中选择“本地连接和远程链接”,然后选择“同时使用TCP/IP和named pipes”
 但我使用VNC登录服务器后发现,远程连接已经开启,说明并不是这个问题,到网上搜索了好久,给出的解决方案都是这个,但这样并不能解决问题,到底是什么问题呢?难道是是服务器的防火墙封住了端口?很有这个可能,前段时间公司的服务器总是受到DDOS攻击,网管服务器装了冰盾的防火墙,有可能是为了防止DDOS攻击,封住了端口。于是问网管有没有封锁端口,得到的答案是没有,但他也不知道怎样启用端口,看来只好自己查了。
 Sql Server使用的端口是1433,在服务器中运行netsata -n命令,发现没有端口1433被使用的情况,又在本地运行telnet命令,发现telnet是不通的,看来端口确实是不通的,但冰盾防火墙我并不会弄。
 正在没有办法的时候,突然想到,Win 2003是自带防火墙的,会不是会是它在作怪呢?在服务器上打开Win 2003自带的防火墙,发现自带的防火墙是开启的,并且例外中没有发现Sql Server 1433的端口,试着添加一个TCP/IP的1433端口,在客户端启动Sql Server,边接远程的Sql Server服务器,问题解决。
 当我们发现问题后,首先应该判断出现这个问题的几种可能性,然后尝试用排除法对可能性进行排查,就象这个问题,用telnet可以检查是否端口是否有问题,而用netstat -n可能检查是本地还是服务器的端口有问题。当我们知道是端口被封住了,问题就好解决了,因为端口被封住无非就两种可能性,一是防火墙之类的软件堵住了端口;另一种可能性是被其它软件占用了端口。我以前就碰到一个端口被占用的情况,IIS死活起不来,折腾了好久才发现,80端口被Skype占用,更改Skype的设置重启就解决问题了,走了不少的弯路。
   建议在遇到这个问题的时候可以尝试用telnet命令看服务器及端口是否连通正常。
  

注意:本文为我的独立博客镜像博客,自发表不再更新,原文可能随时被更新,敬请访问原文。同时,请大家不要在此评论,如果有什么看法,请点击这里:http://iove.net/1705/

本文来自http://iove.net,欢迎转载,转载敬请保留相关链接,否则视为侵权,原文链接:http://iove.net/1705/

转载于:https://www.cnblogs.com/conis/archive/2007/07/17/1720585.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值