sql拒绝访问,提示“SQL Server不存在或访问被拒绝”故障通常是最复杂的故障之一。那么怎样解决sql拒绝访问的问题呢?造成sql拒绝访问的原因较多。SQL Server名称或IP地址拼写有误;服务器端网络配置有误以及客户端网络配置有误等错误配置均会造成上述故障的发生。解决该问题时建议遵循以下步骤逐步进行:
1.检查网络物理连接
使用Ping命令测试服务器IP地址或服务器名称,如果Ping服务器IP地址时失败,说明物理连接有问题,这时要检查硬件设备(如网卡、交换机、路由器等)。还有一种可能是由于客户端和服务器之间安装有防火墙软件,防火墙可能会屏蔽对 Ping、Telnet 等请求的响应。在检查连接问题时建议先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
如果Ping服务器IP地址成功而Ping服务器名称失败,则说明名字解析有问题。有时SQL服务器跟客户端不属于同一个网段,这时可能会无法直接使用服务器名称来标识该服务器。不过借助HOSTS文件也能进行名字解析。用“记事本”程序打开HOSTS文件(该文件一般位于%SystemRoot%system32driversetc中),添加一条IP地址与服务器名称的对应记录(如10.115.223.188 hanjiangit)。
2.用Telnet命令检查SQL Server服务器工作状态。
执行命令“Telnet 服务器IP地址:1433”,如果命令执行成功则可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server服务器工作正常,并且正在监听1433端口的TCP/IP连接;如果命令返回“无法打开连接”的错误信息,则说明服务器没有启动SQL Server服务,也可能服务器未使用 TCP/IP,或者服务器没有在SQL Server的默认端口1433上监听。
3.在SQL Server服务器上检查服务器端的网络配置。
一般需要检查是否启用了命名管道、是否启用了TCP/IP灯方面。该操作可以使用SQL Server自带的“服务器网络实用工具”来实现:
第1步,依次单击“开始”→“所有程序”→Microsoft SQL Server→“服务器网络实用工具”,打开“SQL Server网络实用工具”对话框。从该对话框中可以看到服务器启用了哪些协议,一般而言应该启用命名管道及TCP/IP,如图所示。
SQL Server网络实用工具
第 2步,在“启用的协议”列表框中选中TCP/IP选项并单击“属性”按钮,打开hanjiangit-TCP/IP对话框。在该对话框中检查SQL Server服务默认端口的设置,默认会使用1433端口。如果选取“隐藏服务器”复选框,则客户端将无法通过枚举服务器来看到这台SQL Server服务器,从而起到保护作用。如果检查没有问题单击“确定”按钮,如图所示。
检查TCP/IP属性
第 3步,检查完服务器端的网络配置,接着要到客户端检查客户端的网络配置。在安装了SQL Server客户端的计算机中依次单击“开始/所有程序/Microsoft SQL Server/客户端网络实用工具”,打开“SQL Server客户端网络实用工具”对话框。在该对话框中可以看到客户端启用了哪些协议,一般而言同样需要启用命名管道(Named Pipes)及TCP/IP,如图所示。
SQL Server客户端网络实用工具
第4步,在“按顺序启用协议”列表中单击选中TCP/IP选项,并单击“属性”按钮。在打开的TCP/IP对话框中可以检查客户端默认连接端口的设置,该端口必须与服务器一致。如果没有问题单击“确定”按钮,如图所示。
检查客户端使用的端口
第 5步,在“SQL Server客户端网络实用工具”对话框中单击“别名”选项卡,可以为服务器配置别名。服务器的别名是用于连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。例如可以使用SQL Server来代替真正的服务器名称hanjiangit,并使用网络库“Named Pipes(命名管道)”。确认服务器别名没有问题,单击“确定”按钮,如图所示。
配置SQL Server
通过对以上参数进行检查并配置,基本可以排除本例所提到的故障。