SQL 数据库连接服务器失败是什么原因?

SQL 数据库连接服务器失败是什么原因?,第1张

一、mysqld 进程没有正常运行遇到这种情况首先到服务器上看看 mysqld 进程是否活着,采用的命令:

二、客户端不能和进程 mysqld 通信如果 MySQL 服务器上的 mysqld 进程运行正常,我们再看看客户端能不能和 mysqld 进行通信,使用下面的命令进行网络连通的测试:telnet localhost 3306

如果本地能通,再到客户端的机器上把 localhost 换成 MySQL 服务器的 ip 地址进行测试。如果不能通,通常有两种原因,一种原因是 OS 或网络的问题,或者是防火墙;另一种原因是 mysqld 自身根本没有侦听客户端的连接请求, mysqld 启动后对于客户端的侦听是分三种情况。

第一种情况

是使用参数 --skip-networking 跳过侦听客户端的网络连接,用下面的命令我们可以看到 MySQL 根本没有侦听 3306 端口。

第二种情况

使用参数 --bind-address 后面增加对客户端访问 IP 地址的限制,例如只侦听本地的连接

三、账户密码的问题最后一种情况是账户密码的问题,应付这种情况我们有个有力的工具就是查看 MySQL 的 error log, error log 记载信息的详细程度上由参数 --log-error-verbosity 进行控制的

1、点击桌面上的“开始”图标。

2、点击右下角的“所有程序”按钮。

3、找到“Microsoft SQL Server 2008”文件夹,并点击。

4、点击“Microsoft SQL Server 2008”下的“配置工具”。

5、点击“配置工具”下的“Sql server配置管理器”。

6、右击带有“MSSQLSERVER”的选项,并点击“启动”选项。(有多项都是以那个结尾的,就要都点了)。这样就可以连接上了。

在连接到

SQL

Server

2005

时,在默认的设置下

SQL

Server

不允许进行远程连接可能会导致此失败。

(provider:

命名管道提供程序,

error:

40

-

无法打开到

SQL

Server

的连接)

错误:"在连接到

SQL

Server

2005

时,在默认的设置下

SQL

Server

不允许进行远程连接可能会导致此失败。

(provider:

命名管道提供程序,

error:

40

-

无法打开到

SQL

Server

的连接)

"

上述错误我遇到两种情况,一种是在打开打开SQL

Server

2005时d出的,另一种是在应用程序连接SQL

Server

2005时出现的.归纳了一下,由以下几个原因:

1.数据库引擎没有启动.

有两种启动方式:

(1)开始->程序->Microsoft

SQL

Server

2005->SQL

Server

2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database

Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动

(2)可打开:开始->程序->Microsoft

SQL

Server

2005->配置工具->SQL

Server

Configuration

Manager,选中SQL

Server

2005服务中SQL

Server(MSSQLSERVER)

,并单击工具栏中的"启动服务"按钮把服务状态改为启动

使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL

Server

2005配置管理器"中的SQL

Server

2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式 *** 作就可以了.

2.进行远程连接时,是否已允许远程连接.

SQL

Server

2005

在默认情况下仅限本地连接.我们可以手动启用远程连接.在上面第一种方式中,找到Database

Engine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和named

pipes(B)".

3.如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等.

我在一次局域网内连接数据库时,就要因为连接字符串出了问题,在局域网内一台机子连接另一台机子上数据库时,把server=装有数据库的另一台机子的IP.我在连接数据库时总是出现上面的错误,查了好长时间,后来发现,IP没有正确到传到连接字符串,原来我在连接时,使用的是本地,即127.0.0.1,输入的IP没有传到连接字符串.

以上是我归纳的几种情况,希望能对遇到类似问题的朋友提供些帮助和参考.

以上的资料来源于互联网,但是我在实际中还想到了一个问题,就是多看一下事件日志,例如这次的事件,我所得到的提示信息也是如此,但是如果按照当时的想法,我也认为是SQL出现了问题,在冷静一下以后,我查看了系统日志,看到的日志却是如下:

由于下列错误,SQL

Server

FullText

Search

(MSSQLSERVER)

服务启动失败:

由于登录失败而无法启动服务。

明白了!原来我由于担心密码的问题,修改了登录的用户名和密码,而SQL在安装完成后,服务的启动是采用administrator登录,当我修改了administrator后,并未修改服务的登录属性,所以服务根本就无法正常启动。这个问题正好是出现在我修改了密码后,并未立即重启服务器,而是在数天之后,所以也忘记了这个原因。修改了登录属性后,SQL登录正常。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9986629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存