Cannot overwrite an OLAP database created outside of Project Server or by another Project Server Site.

<coffee>

*** Update  ***

I came across this blog recently – this is a much better way forward.  Thank you Martin – http://www.kulov.net/blogs/martin/2009/08/overwrite-olap-database-problem.html

*** End of Update ***

Generally I don’t blog technical issues as there are lots of good technical blogs out there, but as no-one else seemed to have blogged this I thought I would.

One on my customers has been up and running with Project Server on Analysis Services on SQL2005 SP2 for a few months now, and everything was progressing smoothly until earlier this week until the cube failed to build with the above error.  In truth we had seen this before on the test instance ages ago but had got around it by renaming the OLAP cube that we build – not really a sustainable option in the live environment.

The issue relates to the Analysis Services Repository loosing track of which instance built which cube.  This might happen if two cube builds are running at the same time from two instances (eg a Live and a Test instance).  The site-id in the top level row for the cube can get blanked out and then it thinks the cube is it trying to build was created by a different instance. 

The fix is easy – you just need to blank out the row in the repository (easy if the repository is SQL – harder for mdbs).  I re-built the repository from the script in the TechNet article, and then made sure that both my live and test instances of PWA were building cubes at different times.

Just for completeness I’ve copied in the build text from the cube build process and the queue error.

===== Initiating cube build process =====
[07/11/2008 10:52] Cube build request message has been added to the Project Server queue
===== Verifying and running pre-build server event handler =====
[07/11/2008 10:52] Verifying and running pre-build server event handler
===== Determining database and cube structure =====
[07/11/2008 10:52] Cube build initialization started
[07/11/2008 10:52] OLAP database and cube structure was determined successfully
===== Building database and cubes =====
[07/11/2008 10:52] Cube build session started
[07/11/2008 10:52] Analysis Services session started
[07/11/2008 10:52] Analysis Services session failed with the following error: Cannot overwrite an Olap database created outside of Project Server or by another Project Server Site.
===== Process Completed =====
[07/11/2008 10:52] Failed to build the OLAP cubes. Error: Analysis Services session failed with the following error: Cannot overwrite an Olap database created outside of Project Server or by another Project Server Site.

Error summary/areas:
CBS message processor failed
CBSAttemptToOverwrite
Queue
GeneralQueueJobFailed
Error details:

<?xml version=”1.0″ encoding=”utf-16″?>
<errinfo>
  <general>
    <class name=”CBS message processor failed”>
      <error id=”17013″ name=”CBSAttemptToOverwrite” uid=”575a7c3f-4fa8-4f51-83d2-42ff6694954b” CBSRequest=”Setting UID=00007829-4392-48b3-b533-5a5a4797e3c9 ASServerName=projserv ASDBName=live ASExtraNetAddress=projserv RangeChoice=0 PastNum=1 PastUnit=0 NextNum=1 NextUnit=0 FromDate=11/06/2008 14:06:05 ToDate=11/06/2008 14:06:05 HighPriority=True” />
    </class>
    <class name=”Queue”>
      <error id=”26000″ name=”GeneralQueueJobFailed” uid=”09f63d97-9a07-48b7-a453-9873fcff415c” JobUID=”c6e277d9-b898-40a5-83ea-07cbe5ca0bed” ComputerName=”projserv” GroupType=”CBSRequest” MessageType=”CBSQueueMessage” MessageId=”2″ Stage=”” />
    </class>
  </general>
</errinfo>

Many thanks to Brian Smith who was instrumental in resolving the issue.

Enjoy….   Ben.