破解SQL Server连接错误-“SQL Server不存在或访问被拒绝”

破解SQL Server连接错误-“SQL Server不存在或访问被拒绝”

朱二(2006.1 转载请注明作者)


SQL Server 不存在或访问被拒绝,这也许是SQL Server使用者最熟悉的问题。在使用企业管理器、查询分析器、各类工具和应用软件的时候,只要关系到连接SQL Server数据库的时候,都有可能会碰到此问题,引起此错误发生的原因比较多,下面我们就来详细分析引起此问题的原因以及解决办法。

一、有以下几种可能性:

1.网络物理连接问题
2.SQL Server服务没有启动
3.SQL Server名称或IP地址拼写有误
4.服务器端网络配置有误
5.客户端网络配置有误

二、解决办法:

1.检查网络物理连接
ping <服务器IP地址/服务器名称>
如果 ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,此时可把防火墙软件暂时关闭。

如果ping <服务器IP地址> 成功而,ping <服务器名称> 失败
则说明名字解析有问题,这时候要检查 DNS 服务是否正常.
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,

具体的方法是(在客户端进行操作):

 

  • 使用记事本打开HOSTS文件(位于%systemroot%/system32/drivers/etc).
  • 添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver
  • 或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明
注:如果连接本机SQL Server实例,可不用考虑网络问题。  

2.检查SQL Server服务是否启动 

从Microsoft SQL Server菜单中选择服务管理器,启动服务管理器,确认服务已经启动,如未启动,请点击"启动"按钮启动SQL  Server服务。 

3.确认SQL Server的服务器机器名和IP地址拼错无误。

4.服务器网络配置有误 

先查看服务器设置 可以利用 SQL Server 自带的服务器网络使用工具来进行检查.
  • 点击:程序 -->Microsoft SQL Server --> 服务器网络使用工具
  • 在"常规"中可以看到服务器启用了哪些协议.
  • 启用命名管道以及 TCP/IP 协议。(如果连接本机SQL Server实例,也可不启用此二协议)
  • 点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置
  • 一般而言,我们使用 SQL Server 默认的1433端口.
  • 如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.
其次,在在命令行下 使用netstat命令(在服务器端)查看SQL Server是否以在1433端口进行侦听,具体方法可使用
 netstat/? 
查看,一定要确认是SQL Server在1433端口侦听,而不是其他程序 

再接下来,在客户端使用telnet连接SQL Server1433端口 telnet <服务器IP地址> 1433
如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口
如果命令返回"无法打开连接"的错误信息,说明服务器名或地址有误,或者该端口无程序在侦听。

5. 到客户端检查客户端的网络配置 
利用 SQL Server 自带的客户端网络使用工具来进行检查,
  • 点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具
  • 打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.
  • 一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.
  • 点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.
  • 单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称
  • 连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处
以上步骤,可排除"SQL Server不存在或访问被拒绝"的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值