Thursday, June 07, 2018

Migrating Sql Server Analysis Services (SSAS) Cubes from SSAS 2014 to SSAS 2017



I have finally migrated our multidimensional cubes from SSAS 2014 to SSAS 2017

Below are the steps that I have followed to achieve this.








  • On a new Virtual Machine (VM!) I have installed SQL SERVER ANALYSIS SERVICES 2017.  This is our main cube storage Virtual Machine
  • On the Reporting Services Virtual Machine (VM2) I have installed another instance of SQL SERVER ANALYSIS SERVICES 2017 with the aim of synchronizing the cubes between VM1 and VM2.  VM2 is being used for reporting jobs so that there is no load on the main VM! While processing of cubes. 
  • In order to migrate the cubes from SSAS 2014 to SSAS 2017, I have logged into SSAS 2014 machine and scripted out all the databases using the Script Database as – Create To Option as shown below.



  • Then I logged into VM1 and created the databases by running the scripts that I generated in the above step.
  • The next step was to ensure that the data sources and credentials are correct.
  • To do this expand the Datasources of each of the databases and right click on the datasources and click on Properties as shown below.


  • Click on the Connection string and make sure you have the correct login details as shown below


The next step is to process the cube.
If the processing of the cube is successful then the agent jobs that process the cubes will also be successful.


Security issues that you need to take care of are as follows:
  • Right click on the SSAS server instance and click on properties as shown below.

  • Add the user that will be running the agent job of processing the cube.
  • Ensure that the SSAS Service runs under that user and not NTService\MSSqlserverOLAPService
  • After ensuring the above security in place most of the jobs were successful except for the synchronizing job that synchronises the databases from VM1 and VM2.  When the synchronizing jobd runs this gave an error as below


Executed as user: NT Service\SQLSERVERAGENT. Microsoft.AnalysisServices.Xmla.XmlaException: Errors in the OLE DB provider. The server returned the following error: (Either the  user does not have permission to synchronize objects on the source or target instance,


To resolve the error above ensure the following steps are taken care of

The user must have permissions for the below services as shown below

  • Log on as a service 
  • Replace a process-level token 
  • Bypass traverse checking 
  • Adjust memory quotas for a process 





If you have any issues in migrating Analysis Services Databases, feel free to contact me.

Navigating the Data Science Seas: A Journey with Microsoft Fabric

Data science is a vast and exciting field, brimming with the potential to unlock valuable insights. But like any seafaring voyage, navigatin...