SQL Server 2005远程连接

做开发的过程中经常用到数据库远程连接的问题,有时候弄了半天也解决不了,这里根据我自己的一点经历对SQL Server远程连接问题做一总计。

首先这里主要说的是SQL Server 2005不是2000,因为2000有一些小的例外,例如安装sp4补丁等,这里不再讨论。事实上我觉得道理是一样的,如果您是理解着来看的话,不管是2000还是2005或者是2008道理都一样。

连接不上有多种原因,但是就我个人经历来看,主要是因为1433端口问题。例如您有两台计算机,其中计算机A作为SQL Server的服务器,用计算机B去连接。B之所以连接不上A我觉得很可能是A的1433端口监听没有打开,当然网上有很多讲解如何打开1433端口的,我这里稍微提一下:

1.SQL Server配置管理--SQLEXPRESS的协议--TCP/IP启用--属性--IP地址--打开将IP1、IP2的TCP端口设为“1433”并且启用

2.SQL Server配置管理--客户端协议--TCP/IP--启用

3.SQL Server配置管理--SQL Server 2005外围应用配置--远程连接--(不要选择仅适用named pipes,其他两个都可以)

4.重启SQL Server 2005(配置管理器或者服务中都可以)

上面是启用1433端口监听,但是我觉得只要明白了原理没有必要看着上面的步骤一步一步的做。

但是1433端口是不是开启了监听呢?

在命令行中输入netstat -aon以后就可以看看有没有1433的监听,不知道是不是我自己哪里出错的问题,我按照上面的步骤去做,成功过,也失败过。如果没有1433,我觉得你不用试验你是不是能够用默认端口连接上A服务器,肯定不可以的。那怎么办呢?可以想办法再试着开启,但是我失败后没有那么做,而是用其他端口,大不了在连接的时候在IP后面加上端口号。

1.SQL Server配置管理--SQLEXPRESS的协议--TCP/IP启用--属性--IP地址--IPALL--TCP端口设为任何可用端口(例如26)

2.重启SQL Server 2005

好了,看看监听,有26,那就ok了。

假设A的IP是192.168.1.2,其SQL Server实例是SQLEXPRESS,用户名sa,密码:123456。那么我们在B中,服务器名称:192.168.1.2,26/sqlexpress 用户名:sa 密码:123456 就可以了。

这里再补充一点,因为上面讲的主要是没有端口监听的问题,可能还有别的问题导致您连接失败。不管是什么原因,如果您第一次就没有连接成功,建议您在命令行中输入:telnet 192.168.1.2 1433(根据情况修改IP),其他什么都先别管,就输入这样的字符串看看是否能通。如果失败,可以ping 192.168.1.2 我想这样根本不同的话就自己找找原因吧,要是通的话就很可能是1433端口没有监听的问题,但是建议先检查防火墙是否关闭在检查端口,而且要强调的是你可能有多个防火墙(包括路由器的)都要关闭。按照上面说的做完了,我觉得一般应该就不会有问题了。但还可能有些小的细节我没有提到,那些问题网上有很多我就不再提了。

你可能感兴趣的:(sql server 2005)