Cumulative Update 2 (CU2) for SQL Server 2012 Service Pack 1 quietly introduced enhancements to the SQL SysPrep feature contained within SQL Server 2012. Prior to this update the ability to SysPrep SQL Server 2012 was limited to the database engine services and reporting services (native only). CU2 enhancements to this feature add support for SQL Server 2012 SysPrep image scenarios that require Analysis Services, Integration Services, and the shared features. Craig Kitterman has an excellent write-up on this new feature in his blog post entitled Build better VHD’s with expanded SQL SysPrep support in SQL Server 2012 SP1 CU2.
Recently I had a need to use this new feature and stumbled across a “gotcha” related to the SQL Server installation media I was using in creation of an SQL SysPrep image. I was building an image using the already slipstreamed SQL Server 2012 Developer Edition with Service Pack 1 ISO image. In order to leverage the enhanced SysPrep feature I created a folder “C:\Updates” containing the CU2 bits otherwise known as “SQLServer2012-KB2790947-x64.exe” (64-bit flavor). From a PowerShell command prompt I ran the following command to launch installer and create my SysPrep’d SQL Server 2012 installation (in this case my SQL 2012 ISO was mounted as the D:\ volume).
PS D:\> .\Setup.exe /UpdateEnabled=True /UpdateSource=”C:\Updates” /Action=PrepareImage
A few moments later I was greeted with an puzzling status message “There are no updates for SQL Server from C:\Updates” shown in the screen clipping below.
“Well that is odd” I told myself. Checking back on the file system I verified that the CU2 bits were indeed present in my “C:\Updates” directory.
Following the definition of insanity I clicked the Check again button a few more times followed by some Bing research and a few chat messages to peers. This led to no suggestions unfortunately. On a hunch I then copied the 64-bit flavor of the Service Pack 1 bits for SQL Server 2012 known as “SQLServer2012SP1-KB2674319-x64-ENU.exe” to my “C:\Updates” directory even though I was using an already slipstreamed ISO of SQL 2012 containing Service Pack 1.
Clicking Check again this time led to the expected Product Updates screen detailing both updates including the CU2 bits I was after. I suppose this should have been more obvious to me in that Cumulative Updates are indeed “cumulative” and require the most recent service pack that preceded the CU. This is a common release cadence for SQL Server where different “paths” of CU’s are released for varying service pack level of supported SQL Server products (to understand how this works refer to the SQL Server Release Blog).
Clicking Next lead me to the installation wizard where eventually, as Craig detailed in his blog, I could now select additional features to include into my SQL SysPrep image courtesy of the CU2 bits.
I hope that this post clarifies the “hands on & how to” for SQL 2012 SysPrep. Happy SQL Server imaging!