SQL Server无法连接到服务器怎么办
sql server无法连接到服务器,一般可以参考如下解决方法:
1、使用SQL server配置管理器查看,SQL 服务的状态
2、看如图所示的服务是否正常启动,如果为启动,手动启动该服务
3、再次登录即可!
这种故障往往是因为你在安装SQL Server时改变了默认的实例名,或者在对系统进行优化时禁止连接管道,也有可能因为你禁止了“服务器网络实用工具”中的命名管道。解决方案:在开始-运行中键入servicesmsc回车,然后看看MSSQLSERVER后面是什么,比如MSSQL$PC17,如果后面带有$实例名,在连接时,格式如下:127001\实例名。如果是优化所致,那就叫给你优化系统的人,因为他太聪明啦!如果是第三种情况,请打开开始-程序-Microsoft SQL Server-服务器网络实用工具-把管道启用。
登录远程SQL服务器
一 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202114100100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
三 检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。
四 在企业管理器里或查询那分析器连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成
查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在 登录超时(秒) 后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字
通常就可以连通了,如果提示错误,则进入下一步。
1 确保服务器端的数据库中存在sa,并支持混合登录模式默认安装的时候,可能会忽略建立sa
2 确保服务器端的数据库是支持远程调用的打开SQL Server Management Studio,选择该数据库,右键菜单"Properties",在打开的对话框中选择Connections,把Allow remote connections to this server选上
3 确保服务器端的SQL服务的TCP/IP是Enable的打开SQL Server Configuration Manager 选择SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安装的SQL示例名为SQL2005), 把Named Pipes和TCP/IP都修改为Enabled,默认是Disabled
4 确保服务器端的SQL实例的远程调用是支持TIP/IP和named pipes的 打开SQL Server Surface Area Configuration Manager,在打开的页面中选择Surface Area Configuration for Services and Connections选中实例的Remote Connections,把Using both TCP/IP and named pipes选中
5 重启服务器端的SQL Server 2005服务,确保SQL Server Agent和SQL Server Browser的服务也启动了 默认都是需要手动启动,可以改成Automatic
6 因为服务器端的操作系统是WinXp+SP2,所以还需要检查防火墙确保防火墙中的1433端口打开了
另外, SQL Server 2005的默认端口可能不是1433 我们需要手动修改一下 打开SQL Server Configuration Manager 选择SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安装的SQL示例名为SQL2005), 查看TCP/IP的属性在打开的对话框中选择IP Address, 把到IPAll下的TCP Dymanic Ports改为0,TCP Port的值修改为1433
在Windows防火墙中的Exceptions中Add Port:TCP 1433和UDP 1434, 同时还需要Add Program先打开SQL Server Configuration Manager,在SQL Server 2005 Services中选中SQL Server,查看属性,在Advanced中记下Instance ID如(MSSQL1)
在防火墙的Exceptions中Add Program,找到诸如\Microsoft SQL Server\MSSQL1\MSSQL\Binn\sqlservrexe,添加
所有这些都做完了,客户端应该就可以访问了,最好客户端也在自己的Configration Manager的Client Configuration中设置TCP/IP为Enabled
0条评论