By: Daniel Calbimonte | Updated: 2013-04-15 | Comments (12) | Related: > Analysis Services Administration
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. You can download them here: http://msftdbprodsamples.codeplex.com/releases/view/55330
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.
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.
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.
Synchronization Setup
- To start, open SSMS and connect to SSAS using a domain account common between the two SSAS servers.
- Once connected, go to the Databases folder
and right click on it and select the Synchronize option.
- Select the Source Server and Database as shown below.
- 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.
- The first time that I ran the synchronization program I received the following error messages:
- 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:
- 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.
- You should now be able to start the synchronization.
- At the end of the synchronization a successful message is displayed.
Checking Synchronization
- On the destination server the Adventureworks database should now be created.
- Let's verify if changes are synchronized. Let's remove one partition on the source SSAS server:
- 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.
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
- You can synchronize any multidimensional database or automate the task using a SQL
Agent Job. For more information read the following links:
- http://msdn.microsoft.com/en-us/library/ms174928.aspx
- http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/03/16/analysis-services-synchronization-best-practices.aspx
- http://aniruddhathengadi.blogspot.com/2011/09/error-while-synchronizing-ssas-database.html
- http://msdn.microsoft.com/en-us/library/ff929186.aspx
About the author
This author pledges the content of this article is based on professional experience and not AI generated.
View all my tips
Article Last Updated: 2013-04-15