数据库无法连接问题

[复制链接]
查看11 | 回复4 | 2015-3-4 14:55:27 | 显示全部楼层 |阅读模式
前言
在论坛里,经常看到有人在问SQL SERVER 数据库无法连接的问题,
通过观察发现,无法连接数据库,出现频率最高的错误是:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
其实解决这个问题的思路还是比较固定的,今天就针对这个错误,如何排查做一个详细的说明,让下次有任何人遇到这个问题时,可以马上就能自己解决
解决

首先,客户端访问数据库的概念结构如下:


建议:使用IP加端口的方式,即192.168.1.102,1433的方式访问数据库。如果之前不是这种方式先改成这个种方式,排除出问题再说、
(如果不知道数据库服务器的ip 可以进入服务器CMD,输入IPCONFIG查看。)
1.查看TCP/IP 协议是否启用,数据库端口
a. TCPIP 已启用
b.默认端口都是1433 且是真的IPALL 所有IP 开放1433


2.检查SQL SERVER 服务是否正常启动
打开配置管理器,查看状态


2.在本机数据库服务器连接数据库,使用如下图方式:



3 .从客户端机器 telnet 数据库服务器对应的端口
例如我的服务器IP 192.168.1.102 端口1433 就运行 telnet 192.168.1.102 1433
如果没有安装Telnet 会提示下面的错误


安装下telnet ,几分钟就搞定

file:///C:/Users/Administrator/AppData/Local/YNote/data/[email protected]/df60f97694b5480781cb7ea6e6c3a089/clipboard.png
如果Telnet不通,那么连接SQL SERVER 肯定会提示,无法连接的错误。


这时候我们就需要检查
客户端的防火墙
数据库服务器的防火墙
交换机的策略
云主机特殊的策略
4.检查数据库设置
查看是否允许远程连接到此服务器


补充
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
错误提示里面会看到:provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接
有时候我们明明用ip加端口连接,为什么提示的仍然是命名管道提供程序。因为sql server 找不到对应的端口,或者无法把你输入的计算机名转换为正确的IP加端口.这个错误提示并不一定代表你使用的是命名管道。在看到错误提示的时候,还要深入分析下其他的可能性
总结
通过上面步骤依次排除,肯定可以解决


回复

使用道具 举报

千问 | 2015-3-4 14:55:27 | 显示全部楼层






回复

使用道具 举报

千问 | 2015-3-4 14:55:27 | 显示全部楼层
szxiaocong 发表于 2017-8-7 14:03
很久没上论坛了吧
回复

使用道具 举报

千问 | 2015-3-4 14:55:27 | 显示全部楼层
好的 学到
回复

使用道具 举报

千问 | 2015-3-4 14:55:27 | 显示全部楼层
很详细,十分感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行