Today I ran into an issue where, SQL Server 2008 SP1 was installed on a Windows 2008 cluster and was working just fine, but we wanted to install SQL Server Integration Services (SSIS) to the two nodes of the cluster. Since SSIS is not cluster aware, we thought it was be just a simple process of adding features to an existing instance of SQL Server. Unfortunately, it was not that intuitive.
In setup’s SQL Server Installation Center you naturally select “New SQL Server stand-alone installation or add features to an existing installation”, because you already have a installed instance of SQL Server on the cluster.
In the “Installation Type” step of the setup, if you select the second ratio button to “Add features to an existing instance of SQL Server” is when you run into problems in this situation.
If you select the “Integration Services” option only during the “Feature Selection” step, then proceed with the SSIS installation you will encounter the following error if you already have a clustered SQL instance:
Rule "Existing clustered or cluster-prepared instance" failed.
The instance selected for installation is already installed and clustered on computer SQLClustInstName. To continue, select a different instance to cluster.
Of course, you don’t want to install another cluster to your instance, but here is the key: you do want to “Perform a new installation of SQL Server 2008”, which is the first radio button in the Installation Type step of the setup (screen shot above). This will allow you to select any feature you desire to put on the system in the Feature Selection step:
Here you would only select “Integration Services” (unfortunately my screen shot shows I have SSIS already installed). By just choosing “Integration Services” you can successfully install SSIS on each node of the cluster. You must run this setup on all nodes of the cluster where you want the SSIS service installed.
Note: Don’t forget to alter you <ServerName>.\SQL2008</ServerName> property in the MsDtsSrvr.xml file to correctly point to your SQL virtual server name rather than the default “.\InstanceName” that is currently there.
Have a great day!
SQL Server Escalation Services