Link to home
Start Free TrialLog in
Avatar of kinton
kinton

asked on

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.
ASKER CERTIFIED SOLUTION
Avatar of imitchie
imitchie
Flag of New Zealand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
you can have more control using sql waitfor commands to wait for the other cube to finish
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.
except if you want them to start at specific times, but just want to avoid clashes, i.e. not really next,next,next scenario
Avatar of kinton
kinton

ASKER

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.