NOTE: I've made a change to this blog post to account for the fact that actually 6 fixes in CU4 for 2008 RTM fixes DID made it into 2008 SP1.
One of our readers sent me the following questions I think you will find valuable when understanding our recently posted SQL Server 2008 Service Pack 1 and our cumulative updates.
Does SQL Server 2008 SP1 contain the hotfixes that were included in Cumulative Update 4. http://support.microsoft.com/kb/968369/ states only the hotfixes of CU 1/3 are included.
Just a few. (how is that for non-definitive), SQL Server 2008 SP1 does contain some fixes in CU4 for SQL Server 2008 RTM (See table below). Note the word RTM and how I worded this. When referencing a CU by name I would always say something like CUn for SQL Server 200X <x> Otherwise you won't know what the CU applies to. Because of our servicing commitments, we are required to product cumulative updates for multiple different releases . CU4 for 2008 RTM is strictly for customers on SQL Server 2008 RTM. If you have applied CU4 for 2008 RTM and the fix you required is NOT in the list below, DO NOT apply SQL Server 2008 SP1. You will lose the fixes you have applied for CU4 for 2008 RTM. If you are concerned about other fixes in CU4 for 2008 RTM that you now have applied and are unsure of the behavior, then do not apply SP1 for 2008. I have answer for you below though on what to do.
There are actually only 6 fixes from CU4 for SQL 2008 RTM that made it into 2008 SP1. I've listed the CU4 for 2008 RTM version of their KB articles here:
FIX: Error message when you run a query that involves an outer join operation in SQL Server 2008: "Attempting to set a non-NULL-able column's value to NULL"
FIX: A query that uses parameters and the RECOMPILE option returns incorrect result when it is run in multiple connections concurrently in SQL Server 2008
FIX: You cannot edit or debug a SSIS package in BIDS when SQL Server 2008 Enterprise Edition, Standard Edition, Developer Edition or Evaluation edition is installed without the SSIS feature.
FIX: A SQL Server 2008 Reporting Services report is displayed incorrectly in Mozilla Firefox if the report is displayed by using the ReportViewer control
FIX: PAGE compression is removed from a SQL Server 2008 data table after you shrink the database
FIX: Error message when you perform an update or a delete operation on the table that does not have a clustered index created in SQL Server 2008: "The operating system returned error 1450"
So if you applied CU4 for 2008 RTM due to one of the above fixes, then if you apply 2008 SP1, you will not lose a fix. But if you need any other fix in CU4 for 2008 RTM, you need to wait.
So what if you are one of these customer who needs the fixes in CU4 for 2008 RTM not in the list above but also want 2008 SP1? Well, we will produce a Cumulative Update for 2008 SP1, called CU1 for 2008 SP1, in the next few weeks. We generally try to produce a CU after a SP within a few weeks after the SP ships to get those fixes that didn't make the SP (called a roll-up hotfix build). Customers who have applied CU4 for 2008 RTM will now be able to apply 2008 SP1 and then apply CU1 for 2008 SP1. This will give them 2008 SP1 plus all the fixes in CU4 for 2008 RTM that didn't make it into 2008 SP1 (OK, I'm out of breath now<g>).
If CU4 for 2008 RTM is not included in 2008 SP1 should I run setup with both /PCUSource and /CUSource parameters ?
the /PCUSource parameter is strictly for running setup as a slipstream as documented in the following blog post from Peter Saddow of the product team:
The /CUSource parameter can only be used for Cumulative Updates that are shipped AFTER 2008 SP1 and future service packs. CU4 for 2008 RTM is for RTM only and cannot be used for this purpose. In fact, no cumulative updates for 2008 RTM can use the slipstream process. But they can be used to fix SQL Server Setup Support fixes as documented at http://blogs.msdn.com/psssql/archive/2008/09/30/how-to-fix-your-sql-server-2008-setup-before-you-run-setup.aspx
How does SP1 influence the article "How to fix your SQL Server 2008 Setup before you run setup..."
2008 SP1 now includes a better way to fix setup "before you run setup", called slipstream setup. This is described in Peter Saddow's blog at http://blogs.msdn.com/petersad/archive/2009/02/25/sql-server-2008-creating-a-merged-slisptream-drop.aspx. I also have a post that describes my experience doing this at: http://blogs.msdn.com/psssql/archive/2009/03/17/how-to-fix-your-sql-server-2008-setup-before-you-run-setup-part-ii.aspx. I need to update my blog since it was based on 2008 SP1 CTP1. Peter's is fully updated for the final 2008 SP1 release. Also a KB article is forthcoming that documents the procedure.
Now, back to the question about the /CUSource parameter. When CU1 for 2008 SP1 ships, you will now be able to slipstream setup to include both 2008 SP1 and CU1 for 2008 SP1 together. The /CUSource parameter will be for the CU1 for 2008 SP1 build. It can also be used for any subsequent Cumulative Updates shipped after 2008 SP1 that are FOR SP1. When 2008 SP2 comes out, we start over and /PCUSource will be for 2008 SP2 and CU1 for 2008 SP2 (and so forth) will use the /CUSource field.