Here is a situation where a cumulative update patch can fail if the default database path for the data and/or log either does not exist, or there is a permissions issue. This example is based on a SQL Server 2005 Cumulative Update 4 for SP3. The problem can happen for any SQL Server 2000, SQL Server 2005 or SQL Server 2008 Service Pack, Hotfix or Cumulative Update. You can use the same methodology in this example to identify if this is the problem and resolve.
The summary log (summary.txt) shows:
Product Installation Status
Product : SQL Server Database Services 2005 (MSSQLSERVER)
Product Version (Previous): 4226
Product Version (Final) :
Status : Failure
Log File : C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB970279_sqlrun_sql.msp.log
Error Number : 29537
Error Description : MSP Error: 29537 SQL Server Setup has encountered the following problem: [Microsoft][SQL Native Client][SQL Server]CREATE DATABASE failed. Some file names listed could not be created. Check related errors.. To continue, correct the problem, and then run SQL Server Setup again.
The SQL9_Hotfix_KB970279_sqlrun_sql.msp.log (or the detail log referenced by the failure) shows more detail about why the CREATE DATABASE failed. This detailed error information may be not always be towards the end of the log or the last error. You may need to search higher up in the log by SQL_ERROR or “CREATE DATABASE” to find the detailed error. Carefully review each CREATE DATABASE error that is logged. Some may be more generic, others will have detailed information to provide you enough detail about why the statement is failing. In this example the following detailed error shows that it was because the default log path did not exist:
SQL_ERROR (-1) in OdbcStatement::execute_batch
sqlstate=42000, level=16, state=4, native_error=1802, msg=[Microsoft][SQL Native Client][SQL Server]CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
sqlstate=42000, level=16, state=1, native_error=5123, msg=[Microsoft][SQL Native Client][SQL Server]CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file 'F:\MSSQL\Log\temp_MS_AgentSigningCertificate_database_log.LDF'.
Other common causes can be if there are insufficient permissions for the SQL Service account to write to the default path or if the path is in an invalid format.
Based on the reason you find for the failure, resolve with the appropriate action such as:
- Update the default data and/or log path with Management Studio through the Server Properties.
- Create the path if you do want to have that be the default path.
- Apply appropriate Full Control permissions to the path if errors indicated a permissions issue.
You can also confirm the functionality by running a simple CREATE DATABASE without any path, such as:
CREATE DATABASE test
If this returns errors, you will need to resolve these first before you can apply the update.
Sarah Henwood | Microsoft SQL Server Escalation Services