Problems After Installing MS08-040 (KB948110)

It seems like there have been some calls coming in regarding this particular issue. Funny how some problems seem to go around in waves. Just had a customer Severity A come though where this patch was rolled out automatically via Windows Update, now when the server rebooted MSSQL$SHAREPOINT fails to start.

Ooops!

Delving further into this issue it would seem that there are several work around’s to this issue depending if you are running WMSDE or SQL Server 2000.

The first port of call to see what is happening is checking the SQL Server ERRORLOG. If you go to C:\Program Files\Microsoft SQL Server\MSSQL$\Log\ERRORLOG you’ll see something like this;

2008-07-14 11:26:13.21 spid2 Skipping startup of clean database id 4
2008-07-14 11:26:13.21 spid2 Skipping startup of clean database id 6
2008-07-14 11:26:13.21 spid2 Starting up database ‘STS_Config’.
2008-07-14 11:26:13.29 spid5 Clearing tempdb database.
2008-07-14 11:26:13.32 spid5 Starting up database ‘tempdb’.
2008-07-14 11:26:13.35 spid2 Recovery complete.
2008-07-14 11:26:14.26 spid2 Cannot validate object ‘master’.'dbo’.'sp_helptext’.
2008-07-14 11:26:14.26 spid2 Database ‘master’ has invalid schema.

The issue we have here is quite evident, the ‘master’ database scehema is invalid due to the installation logic not being aware of whether this instance is running SQL Server 2000. For anyone who has upgraded from WMSDE to SQL Server 2000, you’ll quite possibly come across this error. Before rolling the patch out I would recommend testing it out on a non product system and see what results you get.

Everyone has uses best practices for patch management, right? right?? Test > Replica > Live! LOL

Now to the fix itself, first for WMSDE which is the easier one to get around;

  • Download SQLWMSDE-KB948110-x86-ENU.exe

  • Run SQLWMSDE-KB948110-x86-ENU.exe /upgradesp sqlrun 1 INSTANCENAME=UDDI /l*v %windir%WMSDE.log

  • Reboot

Voila!

The SQL Server fix is a little bit more so you might need a strong coffee before reading this.

  • Perform the upgrade again from WMSDE to SQL Server 2000.

    Note You must use the same media that was previously used to perform the upgrade to SQL Server 2000.

  • Restart the server instance. The server instance should start as the upgraded version.

  • Apply SQL Server 2000 Service Pack 4.

    Note Make sure that you apply the SQL Server 2000 Service Pack 4 and not the MSDE SP4 or WMSDE SP4 updates.

  • For more information about how to obtain SQL Server 2000 Service Pack 4, visit the following Microsoft Web page:

osql -n -b -d master -Slpc:%computername%\SHAREPOINT -i “%programfiles%\Microsoft SQL Server\MSSQL$SHAREPOINT\Install\sp4_serv_uni.sql” -o “%programfiles%\Microsoft SQL Server\MSSQL$SHAREPOINT\Install\sp4_serv_uni.out” -E

Hope that gets some of you out of a right pickle.

Case closed.

Kristof Kowalski | kristof@kowalski.ms