Installing SQL 2008 into a Windows 2008R2 failover cluster? Slipstream SP1 into the SQL media!


Today I was setting up a new lab server for SQL 2008 x64 on a new Windows 2008R2 x64 failover cluster.

It wasn't exactly what I would call fun.  :-)  I imagine this is because Server 2008R2 released after SQL 2008 did… so you have to do a little “running around” to get SQL 2008 installed in a Server 2008 Failover cluster.

 

I am using my typical iSCSI solution for building a cluster under Hyper-V documented here:

http://blogs.technet.com/kevinholman/archive/2008/10/20/setting-up-a-2-node-server-2008-failover-cluster-under-hyperv.aspx

 

However – I hit all the snags discussed in this KB article:

http://support.microsoft.com/kb/955725/EN-US

 

The solution to all this is to create a new SQL media source, and slipstream the SQL 2008 SP1 update into the SQL 2008 RTM media.  This is documented here:   http://support.microsoft.com/kb/955392

 

Creating a SP1 Slipstream into the SQL 2008 RTM media:

---------------------------------------------------------------------------

  • Copy the original SQL Server 2008 RTM source media to c:\SQLServer2008_FullSP1.
  • Download the Service Pack 1 package to a new folder, C:\SQLSP1. The package names are as follows:
    • SQLServer2008SP1-KB968369-IA64-ENU.exe
    • SQLServer2008SP1-KB968369-x64-ENU.exe
    • SQLServer2008SP1-KB968369-x86-ENU.exe
  • Extract the packages as follows:
    • C:\SQLSP1\SQLServer2008SP1-KB968369-IA64-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU
    • C:\SQLSP1\SQLServer2008SP1-KB968369-x64-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU
    • C:\SQLSP1\SQLServer2008SP1-KB968369-x86-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU

    Note Make sure that you complete this step for all architectures to ensure the original media is updated correctly.

  • Run the following commands to copy the Setup.exe file and the Setup.rll file from the extracted location to the original source media location.
  • robocopy C:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.exe
    robocopy C:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.rll

  • Run the following commands to copy all files (not the folders), except the Microsoft.SQL.Chainer.PackageData.dll file, in C:\SQLServer2008_FullSP1\PCU\Architecture to C:\SQLServer2008_FullSP1 \Architecture to update the original files.
  • robocopy C:\SQLServer2008_FullSP1\pcu\x86 C:\SQLServer2008_FullSP1\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
    robocopy C:\SQLServer2008_FullSP1\pcu\x64 C:\SQLServer2008_FullSP1\x64 /XF Microsoft.SQL.Chainer.PackageData.dll
    robocopy C:\SQLServer2008_FullSP1\pcu\ia64 C:\SQLServer2008_FullSP1\ia64 /XF Microsoft.SQL.Chainer.PackageData.dll

    Determine if you have the Defaultsetup.ini file in the following folders:

    • C:\SQLServer2008_FullSP1\x86
    • C:\SQLServer2008_FullSP1\x64
    • C:\SQLServer2008_FullSP1\ia64

    If you have the Defaultsetup.ini file in the folders, open the Defaultsetup.ini file, and then add PCUSOURCE=".\PCU" to the end of the file as follows:

         ;SQLSERVER2008 Configuration File
         [SQLSERVER2008]
         ...
         PCUSOURCE=".\PCU"

    If you do not have the Defaultsetup.ini file in the folders, create the Defaultsetup.ini file in the folders, and add the following content to the file:

        ;SQLSERVER2008 Configuration File
        [SQLSERVER2008]
        PCUSOURCE=".\PCU"

    Note This file tells the Setup program where to locate the SP1 source media that you extracted in step 3.

    -----------------------------------------------------------------------------

     

     

    This completes the slipstream for SP1 SQL 2008 media.

    HOWEVER…. there is still another issue when installing the cluster, which requires a Cumulative Update for SQL.  When installing the cluster, you might see this message:

     

    "Invoke or BeginInvoke cannot be called on a control until the window handle has been created."

    image

     

    This issue is documented here:  http://support.microsoft.com/kb/975055/

    Just start setup again… and you can get past this error.  Then – when complete with all the steps and nodes – apply the latest SQL 2008 SP1 cumulative update from http://support.microsoft.com/kb/970365/  (Alternatively – you could slipstream in the current CU for SQL 2008 SP1)

    I also kept getting an error about my network bindings not being correct – even though they are… this is due to this being a Hyper-V guess, and the registry contains information about previously detected network adapters that were in my base image.  I just ignored this and moved on – but if you care you can check out http://support.microsoft.com/kb/955963

     

    Next up – you have to install SQL 2008 slipstreamed SP1 on the other nodes in the cluster.  In SQL 2005 – setup configured all nodes with SQL.  In SQL 2008 – you must run setup on all nodes that will be possible owners of the SQL instance.  This part went smoothly….

     

    Lastly – I will apply Cumulative Update 7 for SQL 2008 SP1 (the current one at the time of this writing).  I apply it to the passive node, then fail the cluster over, and apply it to the other node – it goes smoothly.  Generally – following this procedure:  http://support.microsoft.com/kb/958734

    Comments (3)

    1. Hello

      When I try this, I get the following error:

      C:WindowsInstaller198ee7.msi

      Error code 0x84B30001

    2. gigo1 says:

      Great article!!

      Solved all my problems.

      Thanks on your share of knowledge.

    3. dedek says:

      How about SQL 2008 on Windows Server 2008 Cluster? Need to slip stream as well?

    Skip to main content