1

I have two SSAS servers with same cube (same in structure not data)

One of them (Server B) has limited resources and I can only process dimensions and a few partitions on it.
The other one (Server A) is the main server that has all the processed data and uses for querying.

The problem is, during processing dimensios and partitions,the server is not avalable for querying(for 3 hours for example), is it possible to process dimensions and new partitions daily on 'Server B' and copy them to 'Server A'?

If I should use 'Synchronization', I don't want to sync deleted partitions from 'Server B' to 'Server A' , is it possible ?

Thank you all.

hgr 296
  • 39
  • 6

2 Answers2

1

If you have setup your Cube to "Process Full" at the Cube level, it would allow you to query the Cube when the process is running using the default Batch mode.

enter image description here

Also, you can Script out it as XMLA file and use it from your script (PowerShell script or SQL Agent job) to process the Cube.

enter image description here

We have seen this work consistently and the users are able to continue to query the Cube when the processing is in progress.

More details about this on the following links:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/40454eac-746f-4807-be1e-d68845371cf8/will-processing-the-ssas-database-does-process-update-on-dimension?forum=sqlanalysisservices

If you do a processFull on the database it will do a processFull on all the dimensions and processFull on all the cubes, but it will inherently do this all in the one trasnaction so you should not see any cube "down time" (which I presume is why you are asking this question).

https://www.jamesserra.com/archive/2011/06/can-you-query-a-ssas-cube-while-it-is-processing/

You can query a cube while it is processing. The worst that could happen is near the end of processing there is a brief period of time where your query could be killed or it might be queued, and it would be queued only for a short time, even if the cube processing takes hours

BUT, if you process your dimension first separately, then the Cube will become un-processed and hence would not be queryable.

Subbu
  • 2,130
  • 1
  • 19
  • 28
  • Thanks for your reply , unfortunately I can not "process full" the database because : **1-** it takes too many hours (days maybe) **2-** I don't have access to old raw data which need to process old partitions (data for two years ago for example) **3-** My database has multiple cubes that are needed to process separately in different times of the day . what I'm doing now is to 'Process Update' the changed dimensions then 'Process Full' just new added partitions (I do it with XMLA script) – hgr 296 Sep 16 '19 at 16:16
  • My understanding is: if you do a "Process Update" on the dimension, the Cube should still be accessible for querying. Related SO answer: https://stackoverflow.com/a/11902885/1689226. I don't have any other suggestions. – Subbu Sep 16 '19 at 16:52
0

Instead of worrying about synchronization, use remote partitions so that partitions processed in server B will be querable from server A without having to synchronize them.

Visit : https://intelligentsql.wordpress.com/2014/01/28/ssas-remote-partitions/

Naro
  • 800
  • 6
  • 11