title: Efficient way to process a multidimensional cube
body: <p>I am building a multidimensional cube using SSAS, I created the partitions based on a date column, and defined a partition for each day. Source data size is bigger than 2 TB.</p>
  
  <p>While deploying and processing the the cube, if an error occurred all processed partitions are not save and their state still unprocessed.</p>
  
  <p>After searching for a while I found the <a href="https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/processing-options-and-settings-analysis-services?view=sql-server-2017#processing-settings" rel="noreferrer">following article</a> mentioning that:</p>
  
  <blockquote>
    <p>Parallel (Processing option): Used for batch processing. This setting causes Analysis Services to fork off processing tasks to run in parallel inside a single transaction. If there is a failure, the result is a roll-back of all changes.</p>
  </blockquote>
  
  <p>After searching i found an alternative way to process partitions one-by-one from an SSIS package as mentioned in the following article:</p>
  
  <ul>
  <li><a href="https://www.mssqltips.com/sqlservertip/2796/create-sql-server-analysis-services-partitions-using-amo/" rel="noreferrer">Create SQL Server Analysis Services Partitions using AMO</a></li>
  </ul>
  
  <p>But the processing time increased more than 400%. Is there is an efficient way to process partitions in parallel without losing all progress when an error occured?</p>