How to check if a Cube is being processed

Hi All,
My basic question is; can I use trans SQL to check to see if a cube is being processed?  i.e. is there a processing flag in a table somewhere?

My full problem is that I have 2 cubes.  They are built in 2 SSIS (DTS) packages.  The packages run a batch of data refresh processes before building the cube and are staggered so the cubes shouldnt really be built at the same time. However, i'd like to put in a process that checks to see if the other cube is being processed before it starts processing its own cube.

Any help would be much appreciated.
LVL 2
kintonAsked:
Who is Participating?
 
imitchieConnect With a Mentor Commented:
i would suggest using a control table
cubeid, starttime
each dts package starts by inserting into it
delete or update with end time when done
the other cube(s) can check this table
0
 
imitchieCommented:
you can have more control using sql waitfor commands to wait for the other cube to finish
0
 
PFrogCommented:
Your easiest option is to add both existing SSIS packages into another 'parent' SSIS package. You can then create a process flow from one to the other - i.e. as soon as the first package has completed the next will be executed.
0
 
imitchieCommented:
except if you want them to start at specific times, but just want to avoid clashes, i.e. not really next,next,next scenario
0
 
kintonAuthor Commented:
I couldn't use the process flow as the Cube build packages are already in a flow to start when the data has finished building.  Basically;

Data1 kicks off
Data 2 Kicks off
When data1 is finished, Cube1 is started.
When data2 is finished, Cube 2 is started, but I want it to make sure Cube1 isn't still being built as both Cubes are on the same sever.

I went with using a control table, so thanks imitchie, but if anyone comes accross a value in master or msdb or somewhere that stores if a cube is processing, I would still be interested to heat about it.  Thanks.
0
All Courses

From novice to tech pro — start learning today.