1

I have a cube which I have created by using (in Visual studio) New Project -> Import from Server (Multidimensional and data mining).

This cube is indeed created from the metadata of an already existing cube on the database Database A.

The difference between this cube and the newly created cube, NewCube, is that NewCube has many dimensions set as Visible -> False (where the old cube has the same dimensions set as visible). NewCube is also deployed on a different database on the same SSAS server, Database B.

NewCube have two of the three biggest tables, SaleStock and CentralStock replaced by the tables SaleStockYesterday and CentralStockYesterday which, instead of showing the stock balances for every article recorded everyday from five years back, only include the balances for each article from the last day. The tables SaleStock and CentralStock are deleted from the Data source view.

When I use Database -> Process and set the options to not terminate the process if there are multiple values etc, and set the option to not Count errors the cube starts to process.

My issue is that when the cube processes, after it has taken approximately 2 hours, the RAM required makes the SQL server for which SSAS is installed to use 99-100 % RAM. This results in other jobs to not execute because there is simply not enough RAM for these to start processing (i.e. different SQL jobs frmo the SQL agent).

My questions are:

The original cubes takes approx 1 hour to process, and this takes more than 2 hours. Is this because it is processed for the first time? The original cube uses partitions, is the reduced time to process a result of not being forced to process the whole cube?

The original cube is processed from a SQL agent job. NewCube is processed from SSAS. Could that have any result on RAM required?

When I set dimensions to Not visible, they still seem to process. Should I enjoy better RAM performance if I simply remove the dimensions, instead of putting them as not visible (I have them as not visible at the moment to hopefully prevent some errors due to all the Connections in the cube).

Are there any different options to process the cube, which could reduce RAM needed? I use Database -> Process to process NewCube. The old cube is processed using a SQL agent job, and uses FullProcess. Could that have any impact (I haven't had the guts to try this yet due to the server being shared by Another department which I do not know if they have any jobs, and during which hours, to prevent them being terminated because of too much RAM load)?

I do not know how much RAM the original cube requires to process due to the odd hours this is processed on. Is there a way to see RAM required many, many hours later?

EDIT

I use this command in SSMS to process the cube:

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400">
    <KeyErrorLimit>-1</KeyErrorLimit>
    <KeyNotFound>IgnoreError</KeyNotFound>
    <NullKeyNotAllowed>IgnoreError</NullKeyNotAllowed>
  </ErrorConfiguration>
  <Parallel>
    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400">
      <Object>
        <DatabaseID>NewCube</DatabaseID>
      </Object>
      <Type>ProcessFull</Type>
      <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
    </Process>
  </Parallel>
</Batch>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.