How to synchronize two SSAS Servers

Problem

Unfortunately, SQL Server Analysis Services (SSAS) does not support differential backups and creating full backups for the servers might take too much time.  In this tip we are going to show how to synchronize two SSAS servers in order to have a failover server in case something goes wrong with one of the servers.

Solution

Starting with SSAS for SQL 2005, Microsoft introduced the synchronize feature. In this tip, we will synchronize the Adventureworks database using SQL Server 2012.

Requirements

We are going to use Adventureworks database for SQL Server 2012 and the Adventureworks multidimentional project for this tip.

We are also using SQL Server 2012 Enterprise edition.

For this example, there are two SQL Servers, one named SSAS and the other named DEV. On the SSAS server we have the Adventureworks database and on the DEV server there is no Adventureworks database, but this will be created when we synchronize the servers.

SSAS Servers

You also need to make sure that there is a common domain user account for both servers. In this tip, we added a user to the BIAdmin group.

Users and groups

Finally, we add the BIAdmin group as a SSAS administrator. To do this within SQL Server Management Studio right click on the server and choose the Security tab and add the BIAdmin group as shown below.

SSAS Security

Synchronization Setup

  1. To start, open SSMS and connect to SSAS using a domain account common between the two SSAS servers.
  2. Once connected, go to the Databases folder and right click on it and select the Synchronize option.
    Synchronization
  3. Select the Source Server and Database as shown below.
    Run command
  4. In the Synchronization options you can
    • Copy all – this will copy all of the data roles and members. If you do not have a destination database already a copy all will help.
    • Skip membership – this let’s you copy the roles, but not the members.  If you already have users you may be careful with the skip members option because some roles may be overwritten.
    • Ignore all – let’s you avoid copying the roles and users.
      GCI command
  5. The first time that I ran the synchronization program I received the following error messages:</li

    SSAS parts

  6. In order to solve this problem, I needed to restart the SSAS Service with a domain account with privileges on both SSAS servers. Open SQL Server Configuration Manager (SSCM) to make this change:
  7. Open Configuration Manager

  8. In the SSCM click on SQL Server Services and double click on SQL Server Analysis Services. In the Account Name, change this account to a domain account and restart the service.
  9. ssas service account

  10. You should now be able to start the synchronization.

    sync message

  11. At the end of the synchronization a successful message is displayed.</li

    New SSAS Database created

Checking Synchronization

    1. On the destination server the Adventureworks database should now be created.

Run command

    1. Let’s verify if changes are synchronized. Let’s remove one partition on the source SSAS server:

delete partition

  1. Repeat the synchronization steps again and verify that this partition has been deleted on the destination SSAS Server. If everything is OK, the partition that was deleted on the source should be deleted at the destination as well.

    multidimensional database

In this tip we learned how to synchronize two SSAS servers. We can use this method as a backup, as a failover alternative or as a migration method.

Next Steps

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *