Installation of Service Pack 3 for Reporting Services 2005 fails on a cluster with an error code 2228
The setup of the Microsoft products is considered to be extremely easy. Mostly one need to click on few "Next" buttons and the setup is done. But when the setup fails, it can be extremely interesting. I encountered one such interesting setup failure. The installation of the SQL Server service pack 3 was failing for the reporting services component.
We were trying to install SQL Server 2005 service pack 3 and it got successfully installed for all the components except for "Reporting Services". The environment was as follows:
Operating System:
Windows Server 2003 Enterprise Edition
Windows Cluster:
Windows Cluster
Node1 : ABC1
Node2 : ABC2
Cluster Name: WINCLUS
SQL Server:
SQL Server 2005 Enterprise Edition
Build: 9.00.3073
SQL Cluster
Node1 : ABC1
Node2 : ABC2
Cluster Name: SQLCLUS
Reporting Services:
Reporting Service 2005 Enterprise Edition
Build: 9.00.3042
Installed on both the nodes but configured only on ABC1
When we tried installing the service pack 3 for reporting services, we got the following errors:
From Summary.txt
----------------------------------------------------------------------------------
Product : Reporting Services (ABC1)
Product Version (Previous): 3042
Product Version (Final) :
Status : Failure
Log File : C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\RS9_Hotfix_KB955706_sqlrun_rs.msp.log
Error Number : 2228
Error Description : MSP Error: 2228 The installer has encountered an unexpected error. The error code is 2228. Database: . Unknown table ' _sqlDomainGroup' in SQL query: SELECT `Property`, `Component_`, `RestoreProperty`, `Service`, `ServiceName` FROM ` _sqlDomainGroup` ORDER BY `Order`.
----------------------------------------------------------------------------------
From RS9_Hotfix_KB955706_sqlrun_rs.msp.log
<EndFunc Name='SetCAContext' Return='T' GetLastError='0'>
Doing Action: Validate_ServiceAccounts
PerfTime Start: Validate_ServiceAccounts : Fri Oct 02 19:31:39 2009
<Func Name='Validate_ServiceAccounts'>
MSI (s) (F4!40) [19:31:39:273]: Note: 1: 2205 2: 3: _sqlDomainGroup
MSI (s) (F4!40) [19:31:39:273]: Note: 1: 2228 2: 3: _sqlDomainGroup 4: SELECT `Property`, `Component_`, `RestoreProperty`, `Service`, `ServiceName` FROM ` _sqlDomainGroup` ORDER BY `Order`
<Func Name='GetServiceAccountProperty'>
Error Code: 0x8007064f (1615)
Windows Error Text: SQL query syntax invalid or unsupported.
Source File Name: darlib\viewinstaller.cpp
Compiler Timestamp: Sat Oct 25 08:45:48 2008
Function Name: sqls::ViewInstaller::open
Source Line Number: 62
---- Context -----------------------------------------------
Failed to open installer view
1: 2228 2: 3: _sqlDomainGroup 4: SELECT `Property`, `Component_`, `RestoreProperty`, `Service`, `ServiceName` FROM ` _sqlDomainGroup` ORDER BY `Order`
MSI (s) (F4!40) [19:31:39:304]: Transforming table Error.
MSI (s) (F4!40) [19:31:39:304]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (F4!40) [19:31:39:351]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (F4!40) [19:31:39:351]: Transforming table Error.
.
.
MSI (s) (F4!40) [19:31:39:351]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (F4!40) [19:31:39:351]: Product: Microsoft SQL Server 2005 Reporting Services -- Error 2228. The installer has encountered an unexpected error. The error code is 2228. Database: . Unknown table ' _sqlDomainGroup ' in SQL query: SELECT `Property`, `Component_`, `RestoreProperty`, `Service`, `ServiceName` FROM ` _sqlDomainGroup ` ORDER BY `Order`.
Error 2228. The installer has encountered an unexpected error. The error code is 2228. Database: . Unknown table ' _sqlDomainGroup' in SQL query: SELECT `Property`, `Component_`, `RestoreProperty`, `Service`, `ServiceName` FROM ` _sqlDomainGroup` ORDER BY `Order`.
<EndFunc Name='LaunchFunction' Return='1615' GetLastError='0'>
MSI (s) (F4:8C) [19:31:39:351]: Transforming table InstallExecuteSequence.
MSI (s) (F4:8C) [19:31:39:351]: Note: 1: 2262 2: InstallExecuteSequence 3: -2147287038
.
.
Action ended 19:31:39: Validate_ServiceAccounts.D20239D7_E87C_40C9_9837_E70B8D4882C2. Return value 3.
What does this error mean?
If you look carefully, the install is failing when trying to run a MSI query SELECT `Property`, `Component_`, `RestoreProperty`, `Service`, `ServiceName` FROM ` _sqlDomainGroup` ORDER BY `Order`. This is what we call a “custom action” in setup. Depending on the component/feature, configuration etc, different custom actions are chosen by setup. Now as you know Reporting Services is NOT a cluster-aware component. So, why is SQL setup trying to look for a “Domain Group” when it’s a stand-alone component.
This got me thinking whether RS has some cluster related entries. So I looked at SQL RS registry hive in HKLM\SOFTWARE\Microsoft\Microsoft SQL Server.
As suspected, the root cause for the setup to fail and to generate these error messages is a Registry key. The key is called “Cluster” and it would be located at “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X". Here MSSQL.X would be the reporting services folder. When this registry key is present, the setup would treat the SQL component as clustered and would try to run cluster specific custom actions. Since reporting services is a standalone component and is not cluster aware, the existence of the key “Cluster” would cause the setup to execute the cluster specific custom actions for reporting services and these custom actions would fail as Reporting services is not cluster aware.
The only way to get the service pack to install successfully is to delete the “Cluster” key from the above mentioned location. Once the key gets deleted, the service pack 3 should get installed fine.
Note: Please make doubly sure that the “Cluster “ key you are removing is for reporting services and not for Database/Analysis Services. If removed incorrectly this can break other instances. You can confirm this by looking at the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names and map the component to corresponding MSSQL.X
Gurpreet Singh
Support Engineer, Microsoft SQL Server
Reviewed By,
Sudarshan Narasimhan
TL, Microsoft SQL Server
Comments
- Anonymous
July 23, 2010
Thank you very much!!! It solved my problem!