• 解决SQL SERVER2005不能通过IP连接


    今天在配置openfire的时候,要配置数据库连接,我机器上环境是win7+sql server2005,于是填入sqlserver的连接URL:\\192.168.1.100:1433,按下一步的时候却提示不能连接到数据库。愣了一下,意识到sqlserver服务没有开(因为平时不是一直使用sqlserver,所以都会把sqlserver相关几个服务禁用掉以节省资源,同是在这里提醒一下:很多时候连接不上sql server,最常见的原因是没有开启服务^_^)

      开启服务后再连接,还是失败。突然又意思到:好像没有允许远程连接,于是打开“外围应用配置器”—“服务和连接的外围应用配置器”—“DATABASE ENGINE”—“远程连接”,选择了"同时使用TCP/IP和named pipes",确定,重启服务,在连接,还是失败...

    以往连接不上sqlserver,来到这步都可以解决了,但是现在是什么问题呢?难道 192.168.1.100不是我自己的IP?马上"cmd"-"ipconfig",发现自己IP正是192.168.1.100,然后打开“SQL SERVER Configuration Manager”—"SQL SERVER 2005的网络配置"—“V8ENGIN的协议”(V8ENGIN是我SQLSERVER实例名称),右击“TCP/IP”协议,选择“属性”,并进入“IP地址”tab,检查有没有问题。发现没有填写IP,于是把IP1一栏填写起来,并在“已启用”一栏选“是”,顺便将IP2-IP5的“已启用”选择“否”

     

    确定,重启服务。重新连接的时候还是连接不上!!烦呐,于是上网google了一下,有的人说是要打补丁,我用windows验证连接进入,运行了一下"select @@version",得出的版本是9.0.xxx,跟网上描述的要打补丁的情况有很大不同,应该不是补丁引起的问题。无意中开到一个网友说把防火墙关掉!我恍然大悟:防火墙屏蔽了1433端口!! 于是关掉了防火墙。但意外的是,还是连接不上。

    说到端口,我想:是不是端口有问题?于是"cmd"—“netstat -a -n ”查看一下,但竟然没有发现有监听1433端口,怪不得连接不上。

    但是为什么没有监听到1433端口呢?我明明在IP1里面设置了TCP端口为1433,这是经过一轮google,又看到一个网友提到:把IPALL设置成1433。于是照办,竟然行了!!

    很奇怪,于是又google了一下,找到的答案是:http://support.microsoft.com/kb/265808,大概意思就是:,如果在“TCP/IP属性”中的“协议”中将“全部侦听”选择为"是",则可以为所有TCP/IP连接指定默认的端口(端口号为“IPALL”栏中的端口号),如果“全部侦听”选择为"否"则可为不同IP独立设置端口号。

     
     

     

    总结:

    SQL SERVER出现无法连接(或无法通过IP进行连接),多数是一下几种原因:

    1.服务没有开放

    2.防火墙屏蔽了端口(通常是1433端口)

    3.没有允许远程访问。在外配应用配置器中设置“允许远程访问”

    4.TCP/IP协议中,基于TCP/IP远程连接的IP选项设置不正确(通常是填错IP,或者填对但没有启用)

    5.(如我现在碰到的问题)选择了”全部侦听“,但没有设置到"IPALL"的TCP端口号。

    题外话:一般搞IT的遇到问题,在网络上搜索几乎都能找到解决办法(可怜的google被间歇性封锁后,俺只能时常使用bing了) 

  • 相关阅读:
    Ratchet(WebSockets for PHP)的官方TUTORIALS 的实践
    TCP_Wrappers访问控制
    PAM认证机制
    AIDE入侵检测系统
    使用gpg来加密数据
    openssl数据加密
    搭建私有CA
    进程概念
    进程管理命令
    Linux的信号管理
  • 原文地址:https://www.cnblogs.com/lwhkdash/p/2370683.html
Copyright © 2020-2023  润新知