In disaster recovery situation, you may find that you can no longer generate the Project Server 2007 OLAP cube. The following error is logged in PWA log:

ProjectServerOlapCubeGenerator status: ProjectServerOlapCubeGenerator failed with exception: Microsoft.Office.Project.PI.CBSCommon.CBSProcessException: Cannot overwrite an Olap database created outside of Project Server or by another Project Server Site. at ProjectServerOlapCubeGenerator.OlapDatabaseBuilder.VerifySiteOwner(Server dsoAnalisysServer, Database oldOlapDatabase, Guid siteUid) at ProjectServerOlapCubeGenerator.OlapDatabaseBuilder.GenerateOlapDatabase() at ProjectServerOlapCubeGenerator.CMain.Main(String[] args)

Brian Smith wrote some time ago about this error. However it took me good 4 hours until I actually find how to resolve it, so I decided to share my experience here. Unfortunately re-creating the cube to a new name is not possible in all cases if you already have created a lot of views that are using it and they will need to be re-created also. Finding the OLAP database that you are trying to create can be found at the PWA siteServer SettingsCubeBuild SettingsAnalysis Services Database to be created.

This error could happen when you move PWA site to a new site, for example as described in my previous post Disaster Recovery of PWA 2007 site. In such case the OLAP repository (the relation DB that contains metadata for your OLAP installation) thinks that you already have created a cube with the same name. Just deleting the cube, as proposed here, will most probably not help since the metadata in the repository is still there. All that you need to do is just to change the metadata as mentioned in Brian Smith’s blog comments.

At the end, the details of how to do this are the following. First – locate the record having column ObjectName with the value of the OLAP database that you are trying to create. Then – you need to replace the Project Server Site ID property in the XML stored in ObjectDefinition column with the new PWA site ID. Both columns are located in OlapObjects table, that is contained in OLAP Repository relational database.

You can locate your new PWA site ID by going to the shared service provider, find the PWA site instance and select Edit. The URL should be in the following format http://localhost:10988/ssp/admin/_layouts/createpwa.aspx?task=Edit&id=ea8ecdc7-bc0c-4788-9abd-5744605d2974 where query string parameter ID is your new PWA site ID.