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:
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:
---------------------------------------------------------------------------
- SQLServer2008SP1-KB968369-IA64-ENU.exe
- SQLServer2008SP1-KB968369-x64-ENU.exe
- SQLServer2008SP1-KB968369-x86-ENU.exe
- 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
robocopy C:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.exe
robocopy C:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.rll
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."
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