前几天重装了系统,在家使用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中介绍的方法。


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

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

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

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


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


    最后需要补充说明的是:我的机器在安装时没有使用默认实例,而是用的“EHR”这个实例名,因此,截图可能会与您看到的不太一样。没有关系,道理都是一样的。

    有什么相关问题请给我留言,大家可以一同讨论!