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

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

您可以打开“计算机管理”下的“事件查看器”,您会发现如下图中所示错误:

 




sql server2008 mssqlserver服务启动不了 sql server mssqlserver没办法启动_服务器


这时您可以检查日志文件C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/LOG/ERRORLOG文件,用文本工具打开后,您会发现类似如下的内容:2009-06-14 09:14:55.56 Server      Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

2009-06-14 09:14:55.56 Server      (c) 2005 Microsoft Corporation.
2009-06-14 09:14:55.56 Server      All rights reserved.
2009-06-14 09:14:55.56 Server      Server process ID is 4360.
2009-06-14 09:14:55.56 Server      Logging SQL Server messages in file 'D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/LOG/ERRORLOG'.
2009-06-14 09:14:55.56 Server      This instance of SQL Server last reported using a process ID of 804 at 2009-6-14 9:13:30 (local) 2009-6-14 1:13:30 (UTC). This is an informational message only; no user action is required.
2009-06-14 09:14:55.56 Server      Registry startup parameters:
2009-06-14 09:14:55.56 Server      -d D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/master.mdf
2009-06-14 09:14:55.56 Server      -e D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/LOG/ERRORLOG
2009-06-14 09:14:55.56 Server      -l D:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/mastlog.ldf
2009-06-14 09:14:55.59 服务器         SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2009-06-14 09:14:55.59 服务器         Detected 2 CPUs. This is an informational message; no user action is required.
2009-06-14 09:14:55.64 服务器         Set AWE Enabled to 1 in the configuration parameters to allow use of more memory.
2009-06-14 09:14:55.90 服务器         Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
2009-06-14 09:14:55.95 服务器         Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
2009-06-14 09:14:56.01 服务器         Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.
2009-06-14 09:14:56.01 服务器         Database Mirroring Transport is disabled in the endpoint configuration.
2009-06-14 09:14:56.03 spid5s      Starting up database 'master'.
2009-06-14 09:14:56.20 spid5s      SQL Trace ID 1 was started by login "sa".
2009-06-14 09:14:56.20 spid5s      Starting up database 'mssqlsystemresource'.
2009-06-14 09:14:56.42 spid5s      Server name is 'HMSNJZGDY0APZRZ'. This is an informational message only. No user action is required.
2009-06-14 09:14:56.42 spid9s      Starting up database 'model'.
2009-06-14 09:14:56.42 服务器         错误: 17182,严重性: 16,状态: 1。
2009-06-14 09:14:56.42 服务器         TDSSNIClient initialization failed with error 0xd, status code 0x10.
2009-06-14 09:14:56.42 服务器         错误: 17182,严重性: 16,状态: 1。
2009-06-14 09:14:56.42 服务器         TDSSNIClient initialization failed with error 0xd, status code 0x1.
2009-06-14 09:14:56.42 服务器         错误: 17826,严重性: 18,状态: 3。
2009-06-14 09:14:56.42 服务器         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.
2009-06-14 09:14:56.42 服务器         错误: 17120,严重性: 16,状态: 1。
2009-06-14 09:14:56.42 服务器         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配置。

 


sql server2008 mssqlserver服务启动不了 sql server mssqlserver没办法启动_sql server_02



一般来讲,默认的IP2是:127.0.0.1,如果第一个IP地址的端口1433端口ping不通的话,服务无法启动。您可以将127.0.0.1放在IP1上,那么不管IP2的端口是否能ping通,服务都能够正常启动。您也可以将IP1设置为当前机器的IP地址,并保证该IP地址的端口能够ping通。

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 server2008 mssqlserver服务启动不了 sql server mssqlserver没办法启动_server_03

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

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