I ran into some issues when trying to install a brand new Service Manager 2016 environment at a customer the other day. They have been using Service Manager for a while and instead of doing an in-place upgrade of their 2012 R2 environment, they wanted to do a side-by-side upgrade/migration and created new VMs with Windows Server 2016 and SQL 2016. As this customer had experienced issues with SSAS (SQL Server Analysis Services) and the Service Manager cube processing in the past, they decided to put SSAS on a separate server in an effort to minimize any issues.
This is all fine and supported, but for some reason the installer didn’t actually discover SSAS on this server when trying to install the Data Warehouse. Instead the wizard just showed us something in line with “SQL server is not available”. Looking in the setup log (SCSMSetupWizard01.log in the Temp folder for the user running the setup), we found this error message:
01:41:29:Failed while trying to check remote AS: Object reference not set to an instance of an object. – at Microsoft.SystemCenter.Essentials.SetupFramework.HelperClasses.SetupValidationHelpers.GetHighestMajorVersion(IEnumerable`1 versionList)
at Microsoft.SystemCenter.Essentials.SetupFramework.HelperClasses.SetupValidationHelpers.GetManagementScope(String hostName, String sqlInstance, ConnectionOptions connectionOption, String wmiNamespace, String managementScopeDesc)
at Microsoft.SystemCenter.Essentials.SetupFramework.HelperClasses.SetupValidationHelpers.PreReqRemoteMachineforAS(String hostName)
at Microsoft.SystemCenter.Essentials.SetupFramework.HelperClasses.SetupValidationHelpers.ValidateAS(String hostName).
After some digging, we discovered that in order for the installer to actually identify SQL on the SSAS machine, we had to install the SQL Engine. After adding that to the SSAS machine the installation went fine, and you can actually go ahead and remove the SQL Engine when the installation is completed. The same fix is needed if you’re running SSRS on a stand-alone machine.