问题描述
==========
SQL Server 2005安装SP4时发生错误
故障排查
==========
在summary.txt存在以下错误信息:
Product : Database Services (MSSQLSERVER)
Product Version (Previous): 5000
Product Version (Final) :
Status : Failure
Log File : C:/Program Files/Microsoft SQL Server/90/Setup Bootstrap/LOG/Hotfix/SQL9_Hotfix_KB2463332_sqlrun_sql.msp.log
Error Number : 29534
Error Description : MSP Error: 29534 Service 'MSSQLSERVER' could not be started. Verify that you have sufficient privileges to start system services. The error code is (1814) The specified resource name cannot be found in the image file
查看SQL9_Hotfix_KB2463332_sqlrun_sql.msp.log后,存在以下错误信息:
Failed to add file 'C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/LOG/ERRORLOG' to datastore in AddFileToFailureHandling
Service MSSQLSERVER with parameters '-r -f' is being started at Thu Mar 10 15:54:46 2011
Failed to start service MSSQLSERVER. Error code 1814
Service failed unexpectedly (1814)
Error Code: 0x80070716 (1814)
Windows Error Text: The specified resource name cannot be found in the image file.
Source File Name: sqlsetuplib/service.cpp
Compiler Timestamp: Sat Sep 18 20:51:30 2010
Function Name: sqls::Service::Start
Source Line Number: 301
找到Mar 10 15:54:46 2011的ERRORLOG,存在如下错误信息
2011-03-10 15:54:51.55 spid6s Error: 5118, Severity: 16, State: 1.
2011-03-10 15:54:51.55 spid6s The file "C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/tempdb.mdf" is compressed but does not reside in a read-only database or filegroup. The file must be decompressed.
2011-03-10 15:54:51.57 spid6s Error: 5118, Severity: 16, State: 1.
2011-03-10 15:54:51.57 spid6s The file "C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/tempdb.mdf" is compressed but does not reside in a read-only database or filegroup. The file must be decompressed.
2011-03-10 15:54:51.63 spid6s Error: 1802, Severity: 16, State: 4.
2011-03-10 15:54:51.63 spid6s CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
2011-03-10 15:54:51.63 spid6s Could not create tempdb. You may not have enough disk space available. Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. Check for additional errors in the event log that may indicate why the tempdb files could not be initialized.
这表明tempdb.mdf可能设置了压缩选项。
解决办法
==========
1.找到C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/DATA/tempdb.mdf,右键->属性->高级->查看“压缩该磁盘以节省空间”的选项是否被勾选,如果勾选,则取消这个选项。
2.用相同办法查看该活页夹中的其他数据库文件,是否也勾选了这个选项(如果文件名为蓝色,可能该文件选择了压缩选项),并改正。
3.查看C盘的磁盘空间是否不足,如果不足,请确保具有足够的磁盘空间。(不要通过勾选“压缩磁盘”来节省空间,如果确实空间不够,请与我联系,我将帮助您一同将数据文件迁移至其他磁盘。)
4.重新安装SQL Server SP4