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:
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:
- 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.
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:
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