关于SqlServer服务无法启动的症状分析和解决方法



前几天重装了系统,在家使用SQL Server一切正常,可是到了单位,SQL Server服务怎么也起不来了,在网上查资料,折腾了一个多小时没有搞定,准备放弃了:再次重装系统!在几乎“绝望”的时候,没想到在客户的提醒下解决了该问题。现将本人的体会共享给大家,希望对大家有所帮助:

SQL Server服务无法启动时,时常会遇到以下提示:

本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。

您可以打开“计算机管理”下的“事件查看器”,您会发现提示如下


这时您可以检查日志文件C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG文件,用文本工具打开后,您会发现类似如下的内容:

2008-09-19 18:12:35.96 服务器 错误: 17190,严重性: 16,状态: 1。
2008-09-19 18:12:35.96 服务器 FallBack certificate initialization failed with error code: 1.
2008-09-19 18:12:35.96 服务器 Warning:Encryption is not available, could not find a valid certificate to load.
2008-09-19 18:12:35.96 服务器 错误: 17182,严重性: 16,状态: 1。
2008-09-19 18:12:35.96 服务器 TDSSNIClient initialization failed with error 0x7e, status code 0x60.
2008-09-19 18:12:35.96 服务器 错误: 17182,严重性: 16,状态: 1。
2008-09-19 18:12:35.96 服务器 TDSSNIClient initialization failed with error 0x7e, status code 0x1.
2008-09-19 18:12:35.96 服务器 错误: 17826,严重性: 18,状态: 3。
2008-09-19 18:12:35.96 服务器 Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2008-09-19 18:12:35.96 服务器 错误: 17120,严重性: 16,状态: 1。
2008-09-19 18:12:35.96 服务器 SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

这时,不难看出:

TDSSNIClient initialization failed :TDSSNIClient 初始化失败。

SQL Server could not spawn FRunCM thread :无法生成FRunCM 线程。

我们可以判定,可能会是以下问题,分别处理如下:

1、可能是IP地址配置不对。解决方法如下:

打开 \Microsoft SQL Server 2005\配置工具\下的SQL Server Configuration Manager,选择mssqlserver协议, 然后双击右边窗口的TCP/IP,在弹出窗口中检查IP配置。



一般来讲,默认的IP2是:127.0.0.1,如果第一个IP地址的端口1433端口ping不通的话,服务无法启动。您可以将127.0.0.1放在IP1上,那么不管IP2的端口是否能ping通,服务都能够正常启动。您也可以将IP1设置为当前机器的IP地址,并保证该IP地址的端口能够ping通,详细可参见:http://blog.sina.com.cn/s/blog_541dc567010096oo.html中介绍的方法。

将本帐户的密码修改为您更改之后的管理员密码,“确定”即可。这时SQL Server服务应该就能正常启动了。

参考资料http://blog.sina.com.cn/s/blog_541dc5670100atzr.html

我就是按照这个解决问题。tcpip设置是

在 SQL Server 2005 里面,如果出现到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect!
估计是因为sqlserver2005默认情况下是禁用了tcp/ip连接。
您可以在命令行输入:telnet localhost 1433进行检查,这时会报错:正在连接到localhost...不能打开到主机的连接,在端口 1433: 连接失败

启动tcp/ip连接的方法:
打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议, 然后右边窗口有个tcp/ip协议,然后启动它,把sqlserver服务停了,然后在启动。问题就解决了!这时在命令行输入:telnet localhost 1433就不会再报错了,窗口显示为一片黑,即为正常。

2、可能是因为VIA协议启用造成的。解决方法如下:

打开 \Microsoft SQL Server 2005\配置工具\下的SQL Server Configuration Manager,选择mssqlserver协议, 然后右边窗口有个VIA,点击右键禁用它,点击“确定”即可。这时候再启动sqlserver服务即可!

另外,管理员密码修改也会造成sqlserver服务无法启动。解决方法如下:

打开 \Microsoft SQL Server 2005\配置工具\下的SQL Server Configuration Manager,打开SQL Server属性,如下图所示:





http://hi.baidu.com/aacaae/item/1fdaf5cd38bb8615b67a249b







你可能感兴趣的:(数据库)