Consider the following scenario:
You rename the sa account for an instance of Microsoft SQL Server 2005.
You try to upgrade this instance of SQL Server 2005 to SQL Server 2008.
In this scenario, when the database engine is being upgraded, the upgrade may fail, and you receive the following error message:
Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Additionally, you may find the following error messages in the SQL Server setup log file:
<date> <time> spid6s Executing msdb.dbo.sp_syspolicy_create_purge_job <date> <time> spid6s Error: 515, Severity: 16, State: 2.
<date> <time> spid6s Cannot insert the value NULL into column 'owner_sid', table 'msdb.dbo.sysjobs'; column does not allow nulls. INSERT fails.
<date> <time> spid6s Error: 912, Severity: 21, State: 2.
<date> <time> spid6s Script level upgrade for database 'master' failed because upgrade step 'sqlagent100_msdb_upgrade.sql' encountered error 515, state 2, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
<date> <time> spid6s Error: 3417, Severity: 21, State: 3.
Note The SQL Server setup log file is usually named SQLServer_ERRORLOG_yyyy-mm-ddThh.mm.ss.txt and is located in the following folder:
<SQL Install Directory>\100\Setup Bootstrap\log\yyyymmdd_hhmmss
The upgrade process includes a script to create the SP_Syspolicy_Create_Purge_job stored procedure. The procedure creates the syspolicy_purge_history job and hardcodes the owner of the job to be the sa account. Because the sa account is renamed, the job creation fails. This causes the problem that is mentioned in the "Symptoms" section.
To work around this problem, rename the sa account as sa, and then upgrade the instance of SQL Server 2005.
This problem is fixed in SQL Server 2008 Service Pack 1 (SP1). Therefore, when you try to upgrade an instance of SQL Server 2005 to a version that is later than SQL Server 2008 SP1, this problem does not occur. You must install SQL Server 2008 together with SQL Server 2008 Service Pack 1 or a later update (this is also known as a "slipstreamed" version). For more information about SQL Server 2008 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:
How to obtain the latest service pack for SQL Server 2008
955392 How to update or slipstream an installation of SQL Server 2008
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in SQL Server 2008 Service Pack 1.
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
For more information about this issue, visit the following Microsoft Developer Network (MSDN) blog websites: