Boris Hristov

Slipstreaming SQL Server 2012 and 2014

November 12, 2014 by

Let’s say that you care about your SQL Server environment, but let’s also say that you care about your time too. You are actually one of those people who always strive to do more with less. Now let’s say that you frequently have to install new SQL Server instances or probably you are in the middle of a project in which you have to provide the .iso file of your SQL installation to the System Center guys for them to deploy VMs with SQL Server pre-installed on them. However, because you don’t want to first install the RTM version of the product and then manually patch the instance with the Service Packs, Cumulative Updates or Hotfixes that you think are needed, you are searching for a solution to somehow “embed” all of those fixes into the installation itself! This way, once the instance is installed, it actually has everything already applied. How can you do this and is it possible at all?

SQL Server 2008 introduced something that’s called “Slipstream Installation” and it’s exactly what you need – a way for you to deploy a SQL Server instance with all the needed fixes as part of the installation. Let’s take a look how we can do this in both SQL Server 2012 and 2014 as the process is the same for both versions. (For now we are not going to discuss how this can be implemented with SQL Server 2008 or SQL Server 2008R2 because it’s almost 2015 and it would be “a bit strange” if you are planning any new deployments to run those versions. However, let me know in the comments if you want me to write an article on this as the process of slipstreaming them is a bit more complicated compared with the latest releases)

Here is what we should do to slipstream SQL Server 2012 and 2014:

  1. Download SQL Server 2012 or SQL Server 2014 media
  2. Download all the needed SPs, CUs and Hotfixes that you want to “embed”
  3. Put all of the .exe files in one directory
  4. Launch the setup.exe from CMD by issuing the command:

    Setup.exe /Action=Install /UpdateEnabled=TRUE /UpdateSource=”path_to_the_directroy_where_the_hotfixes_are”

  5. I think the first step is quite self-explainable and does not need us spend more time discussing it. However, the second step is something we should discuss further. When you download the fixes that you want, for SQL Server 2012 and 2014 there is a huge chance the packages will look like this:

    In order, however, for us to be able to use those fixes for our installation we have to first extract them by just double clicking and pointing to a folder where the installer should extract the final .exe file. That could be a simple directory somewhere on your machine or probably the directory that we are going to later point out in the cmd command – the one that I described as “/UpdateSource=path_to_the_directroy_where_the_hotfixes_are”. So once you have done that you should see something like the below – these are the hotfixes that I want to include in my installation for my SQL Server 2012 deployments. Yours may be different.

    Now you are ready to fire up the installation, so let’s go ahead and see what the difference is.

    Open cmd.exe and locate to the drive and folder where your SQL installation is. In my case that is D:\ drive. Going back to step 4 my command to fire up the installation should be this one:

    Setup.exe /Action=Install /UpdateEnabled=TRUE /UpdateSource=”C:\SQLServerFixes”

    The setup starts and the first difference we see is on one of the first screens that we are presented with:

    This is the moment SQL Server tells you: “Yeah, I know you want those fixes and I am going to install them for you!”. Once you move forward and do all the needed configurations, there is another point at which you may see a slight difference confirming that you are on your way and you have successfully done the slipstreaming:

    Update Version is the destination version to which your instance will be patched. If you go and verify which version is this, you will find that this is SQL Server 2012 with SP2 and hotfix KB2969896 and that’s exactly what I need. From here, just move forward and complete the installation.

    Now, you may think – that’s great, but that also means that every single time I want to install a new instance, I will have to upload all of the fixes on that machine in order to use this “technique”. However, let me help with a suggestion. Why don’t you copy all of the needed fixes to the media itself? This way, you will just attach/upload the media and just change the CMD command to point to a folder inside the SQL installation. Here is what you need to do:

    1. Extract the SQL Server media into a folder on your machine by using 7zip or any other software you like that is capable of extracting .iso files.
    2. Create a new folder inside of the extracted media folder and paste inside all of the fixes you will need
    3. Create an ISO from that folder with the help of software like MagicISO.

    Here is how your folder should look like. This is an example with SQL Server 2014 and Cumulative Update 2:

    Once I create the .iso file based on this folder, I just run CMD and execute the below:

    Setup.exe /Action=Install /UpdateEnabled=TRUE /UpdateSource=”.\Updates”

    That’s it! Now you know how to save precious time when you are deploying a new SQL Server instance. No more you are required to manually start every single Service Pack then Cumulative update and Security Hotfix you need! Now you just put all of those in a folder and “point” SQL Server’s setup to that folder. In the next article I am going to share with you an even more advanced approach of installing SQL Server – one in which you will not even have to go through the installation wizard because you won’t see it at all!

    See more

    To boost your SQL Server development productivity, check out Free SQL Server Management Studio add-ins.

     

    Boris Hristov

    Boris Hristov

    Boris is a SQL Server Consultant and Pluralsight Author from Bulgaria who you can regularly see speaking at conferences all across Europe.

    He is also training companies and students in the “Art of SQL Server” and loves to share his knowledge online as part of podcasts, webcasts or on his blog – http://borishristov.com/blog/.

    The fastest way you can reach him is on twitter where he writes under @BorisHristov and you can even join him for a SQLHangout which are video conversations that he hosts with people from the SQL Server community

    View all posts by Boris Hristov
    Boris Hristov

    Latest posts by Boris Hristov (see all)

SQL Server Management Studio

About Boris Hristov

Boris is a SQL Server Consultant and Pluralsight Author from Bulgaria who you can regularly see speaking at conferences all across Europe. He is also training companies and students in the “Art of SQL Server” and loves to share his knowledge online as part of podcasts, webcasts or on his blog – http://borishristov.com/blog/. The fastest way you can reach him is on twitter where he writes under @BorisHristov and you can even join him for a SQLHangout which are video conversations that he hosts with people from the SQL Server community View all posts by Boris Hristov

17,507 Views
  • Adam Z

    Great post, thank you.

    Was able to integrate this into my configuration file as well using this line in my config file, but used your document for verification 🙂

    ; Specify the location where SQL Server Setup will obtain product updates. The valid values are “MU” to search Microsoft Update, a valid folder path, a relative path such as .MyUpdates or a UNC share. By default, SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services.

    UpdateSource=”.Updates”