Take the 2-minute tour ×

There is a problem when several users can process the same cube simultaniously and as a result processing of cube fails. So I need to check if certain cube is processing at current moment.

share|improve this question
add comment

3 Answers

I dont think you can prevent a cube from being processed if someone else is already processing it. What you can do to "help" is run a MDX query to check the last time the cube was processed:


or check the sys.process table on the realted sql server instance to see if it is running:

select spid, ecid, blocked, cmd, loginame, db_name(dbid) Db, nt_username, net_library, hostname, physical_io, 
       login_time, last_batch, cpu, status, open_tran, program_name
from master.dbo.sysprocesses
where spid > 50
  and loginame <> 'sa'
  and program_name like '%Analysis%'
order by physical_io desc
share|improve this answer
Diego, thank you for your answer! –  Alekzander Aug 10 '12 at 11:49
no problem, rememebr to vote ans mark as answer if it helped you –  Diego Aug 10 '12 at 11:54
First request gives only information about time when CUBE was updated. Second request does not help in determing which cube is processing, but it shows that Analysis Services is doing something. I'm shure it whill helps in another situations. –  Alekzander Aug 10 '12 at 12:04
add comment

You will see a job running in Task Manager called "MSDARCH" if a cube is processing. Not sure how you can tell which one though.

share|improve this answer
Thank you! I'll check it. –  Alekzander Sep 21 '12 at 16:46
add comment

I had a similar problem and resolved it by using the DISCOVER_LOCKS rowset provided on the SSAS server. To do this, first make the following XMLA query to the server:

      <!-- I tried using this, but it wasn't working and Microsoft documentation was little help. -->

In the XML that the server returns, there should be a bunch of row elements that look kind of like this:


In this example, note the Object element under LOCK_OBJECT_ID and the LOCK_TYPE element. According to Microsoft documentation, a LOCK_TYPE of 4 denotes a write lock due to a processing task. So you should be able to figure out if a cube is being processed if LOCK_TYPE is 4 and LOCK_OBJECT_ID/Object/CubeID matches the ID of the cube you're interested in for a given row element in the query results.

share|improve this answer
add comment

Your Answer


