在使用SQL Server时,用户最常遇到的问题就是连接失败。一般来说sql企业管理器无项目,连接SQL Server的方法有两种,一种是使用SQL Server自带的客户端工具sql企业管理器无项目,如企业管理器、查询分析器、事务分析器等;另一种是使用用户开发的客户端程序,如ASP脚本、VB程序等,客户端程序使用ODBC或OLE DB连接SQL Server。下面我们就针对这两种连接方法分别谈谈如何解决连接失败的问题。
1.客户端工具连接失败
在使用SQL Server自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有以下几种:
1. SQL Server 不存在或访问被拒绝
连接打开(Connection())
2. 用户“sa”登录失败。原因:未与受信任的 SQL Server 连接关联。
3. 超时已到。
下面我们将看看如何修复这三个最常见的连接错误。
第一个错误“SQL Server 不存在或访问被拒绝”通常是最复杂的,错误原因很多,需要检查的方面也很多。一般来说,有以下几种可能:
1. SQL Server名称或IP地址拼写错误;
2、服务器端网络配置不正确;
3.客户端网络配置不正确。
为了解决这个问题,我们一般按照下面的步骤来一步步查找错误的原因。
首先检查网络物理连接:
ping <服务器 IP 地址>
或者
ping <服务器名称>
如果ping <服务器IP地址>不通,说明物理连接有问题,此时需要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是客户端和服务器之间安装了防火墙软件,如ISA Server。防火墙软件可能会屏蔽对ping、telnet等的响应,所以在检查连接问题时,我们要先暂时关闭防火墙软件或者打开所有被屏蔽的端口。
如果 ping <服务器 IP 地址> 通,但是 ping <服务器名称> 不通,说明名称解析出现了问题,应该检查 DNS 服务是否正常。有时候客户端和服务器不在同一个局域网内,这种情况下很可能无法直接使用服务器名称来识别服务器,这时可以使用 HOSTS 文件进行名称解析,具体方法是:
1、使用记事本打开HOSTS文件(通常位于C:/WINNT/system32/drivers/etc)。
2.添加IP地址与服务器名称对应的记录,如:
172.168.10.24 我的服务器
也可以在SQL Server客户端网络实用程序中进行配置,后面会详细介绍。
接下来使用telnet命令检查SQL Server服务器工作状态:
telnet <服务器 IP 地址> 1433
如果命令执行成功,可以看到屏幕一闪而过,然后左上角光标不停地闪烁,这说明 SQL Server 服务器工作正常,正在监听 1433 端口的 TCP/IP 连接;如果命令返回错误信息“无法打开连接”,则说明服务器上没有启动 SQL Server 服务,或者服务器上没有启用 TCP/IP 协议,或者服务器没有监听 SQL Server 默认的 1433 端口。
接下来我们需要检查服务器上的服务器端网络配置,检查命名管道是否启用,TCP/IP协议是否启用等,我们可以使用SQL Server自带的服务器网络使用情况工具来检查。
点击:程序->Microsoft SQL Server->服务器网络实用程序。打开该工具后,您看到的屏幕如下所示:
从这里我们可以看到服务器上启用了哪些协议。一般来说,我们启用命名管道和 TCP/IP 协议。
点击TCP/IP协议,选择“属性”,我们可以查看SQK Server服务的默认端口设置,如下图所示:
一般来说,我们都使用默认的SQL Server端口1433,如果选择“隐藏服务器”,则表示客户端通过枚举服务器的方式无法看到这台服务器,起到保护作用但不影响连接。
在检查完服务器上的网络配置之后,我们需要检查客户端上的网络配置,我们也可以使用SQL Server自带的客户端网络使用情况工具来检查,但是不同的是,这次我们在客户端上运行这个工具。
点击:程序->Microsoft SQL Server->客户端网络实用程序。打开该工具后,您看到的屏幕如下所示:
从这里我们可以看到客户端启用了哪些协议,一般来说还需要启用命名管道和TCP/IP协议。
点击TCP/IP协议,选择“属性”,检查客户端默认连接端口的设置,如下图所示。
端口必须跟服务器一致。
点击“别名”标签,为服务器配置一个别名。服务器别名就是连接时使用的名称,连接参数中的server是真实服务器名,两者可以相同也可以不同。如下图所示,我们可以用myserver代替真实服务器名sql2kcn-02,使用网络库Named Pipes。别名的设置和使用HOSTS文件类似。
暂无评论内容