Installation of SQL Server 2008 R2 on cluster may fail while trying to bring the resource online

Recently I worked on an issue wherein the installation of SQL Server 2008 R2 on cluster fails with the below error

The cluster resource 'SQL Server (CWTSQL02)' could not be brought online.
Error: The group or resource is not in the correct state to perform the requested operation.
(Exception from HRESULT: 0x8007139F)

In cluster administrator I found that SQL resource was created but SQL Agent resource was not created and the SQL resource was in failed state. I tried to start SQL service from services.msc console, but not able to start as cluster instance. However, I wasn’t able to connect to SQL Server without providing port number. As I wasn’t able to connect to SQL instance without using port number, it points towards issue related to SQL browser service. This can occur when the SQL browser service is not started or is not functioning properly.

Not to my surprise I found that SQL Browser service was in a stopped state. I tried to start it but it failed, so tried to start it from command prompt which failed with below errors

C:\Program Files (x86)\Microsoft SQL Server\90\Shared>sqlbrowser.exe -c

SQLBrowser: starting up in console mode
SQLBrowser: Both SSRP and OLAP redirection services are disabled. Shutting down browser service

Then I looked at the below registry hive and could see the value of SsrpListener was 1, but AnalysisServiceListener was missing which should have been present if analysis services is installed on the server.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\90\SQL Browser

SsrpListener – Value allows or disallows the SQL Browser to expose Engine instance discovery information, So if the value is 0 it disallows the SQL Browser to expose Engine instance discovery.

AnalysisServiceListener – Value allows or disallows the SQL Browser to expose Analysis Service discovery information.

Created the registry entry for AnalysisServiceListener with value 1. Even though the SsrpListener and AnalysisServiceListener are set correctly as 1, but still SQL browser was not starting.

Then I collected process monitor and from the log I found that the dll’s related to “some third party component” was loaded in SQLBrowser. We cannot name the third party component in this blog! If you encounter a similar issue, please manually verify if any third party dll (non-Microsoft) is loaded and interfering with SQL browser. After uninstalling the third party tool from the machine and then reboot it, we were able to bring the SQL browser online and then SQL Server resource online on cluster.

As a matter of fact, Microsoft has always recommended stopping any unwanted third party services and Anti-Virus for the duration of the setup as these components can interfere with the setup which may cause either setup to fail or may cause services to fail like the one we experienced.

You can find more information in below articles about Microsoft policy about antivirus and detouring

Keerthi Deep