I posted a while back about an issue where the Application Server had an alias for the SQL Server, but when the Analysis Services cube build was requested the alias was passed to the Analysis Services server and it didn’t know the SQL Server by this alias (even if it was in fact the same server as SQL and the reporting database was running on!
My colleague in Europe – Nuno – had a similar issue, but with a slight twist that makes a new post worthwhile. ProjectServerOlapCubeGenerator.exe is the executable that builds the cube (it does exactly what it says on the box). It is a 32 bit application and there is not a 64 bit version – so if you are running x64 then this executable will still be running x32. SQL Server 2005 and 2008 Configuration Manager allow you to create aliases for servers – and if you look at the screenshot below you will see that you can create both 32bit and 64bit versions of the alias. If you don’t have the 32bit version set then the 32 bit ProjectServerOlapCubGenerator.exe will not be able to find your SQL Server!
Expect an error something like the following to be in the ULS logs.
CBSGeneralFailure was associated with exception: Microsoft.Office.Project.PI.CBSCommon.CBSProcessException at Microsoft.Office.Project.Server.CBSLayer.ProcessCBSRequestMessage.SpawnOlapDatabaseGenerator(OlapStage olapStage, CubeAdmin cubeAdmin, CBSResource cbsResource, CubeGenerationSettings cubeGenerationSettings, OlapDatabaseDescription olapDatabaseDescription, String publishedDBConnectionString, Guid requestUid) at Microsoft.Office.Project.Server.CBSLayer.ProcessCBSRequestMessage.GenerateOlapDatabase
Thanks Nuno for alerting me to this issue and suggesting the blog posting.
You can also create the aliases with the tool cliconfg.exe which is supplied with the operating system.
On x64 systems it exists twice: one in %systemroot%\system32 and the other in %systemroot%\syswow64.
Both tools look exactly the same - but they write different data.