怎样在 SSASserver之间做同步

时间:2021-10-22 07:35:36


简单介绍:

从SQL Server 2005開始,分析服务就支持了同步的功能。本文将介绍怎样在SQL Server 2012下同步Adventureworks的分析服务数据库。通过同步的功能,我们就来能够弥补分析服务在差异备份以及全量备份上的不足,从而间接的实现类似故障转移这种功能。

Adventureworks是微软的演示样例数据库项目,包括了OLTP,数据仓库以及分析服务数据库的演示样例,能够在以下这个链接里下载到这个演示样例库:

http://msftdbprodsamples.codeplex.com/releases/view/55330

在这个演示样例中,包括了两个SQL Serverserver,一个命名为SSAS,还有一个为DEV。在SSASserver上我们已部署好了Adventureworks分析服务数据库,另外一台DEV的server上没有部署。以下将演示怎样把这个演示样例数据库同步过来。

怎样在 SSASserver之间做同步

这里首先我们须要确保两台server都处于一个域中,而且为他们分别创建一个账户。这里我们创建一个叫BIAdmin的组。

怎样在 SSASserver之间做同步

然后,把这个组填加到分析服务的管理员组中。右键SQL Server Management Studio连接到的分析服务,右键单击属性:

怎样在 SSASserver之间做同步

点击Security中把BIAdmin这个组填加到这里。

怎样在 SSASserver之间做同步

同步设置:

  1. 使用为两台server共同创建的域帐号打开SSMS(Shift+鼠标右键)。
  2. 连接到分析服务之后,在Database目录之下右键点击然后选择同步选项。

怎样在 SSASserver之间做同步

  1. 选择源server和数据库。

怎样在 SSASserver之间做同步

  1. 在同步选项中,能够选择:
  • Copy all –这个选项会拷贝全部内容。当你在目标server还没有这个库的时候就能够选择这项。
  • Skip membership –这个选项仅仅会拷贝角色,可是成员信息不会同步。当目标server已经配置好的成员不想被覆盖的时候,能够考虑这个选项。
  • Ignore all –不同步角色和用户信息。

怎样在 SSASserver之间做同步

  1. 第一次同步的时候会得到以下的错误。

怎样在 SSASserver之间做同步

  1. 解决问题的方法是使用两台server上都有权限的域账户来又一次启动分析服务。能够打开SQL Server Configuration Manager(SSCM)来完毕这个更改。

怎样在 SSASserver之间做同步

  1. 在SSCM中双击SQL Server Analysis Service,在账户名这里,配置成为两个server创建的账户,然后又一次启动分析服务。

怎样在 SSASserver之间做同步

  1. 然后同步就能够顺利通过了。

怎样在 SSASserver之间做同步

  1. 成功后能够看到例如以下信息。

怎样在 SSASserver之间做同步

检查同步结果:

  1. 在目标server中能够看到Adventureworks数据库已经同步了过来。

怎样在 SSASserver之间做同步

  1. 接下来验证是否有更改被同步,比方在源server中删除一个分区:

怎样在 SSASserver之间做同步

  1. 反复同步的步骤。能够看到在源server上做的删除分区的更改已经被同步到目标server上了。

怎样在 SSASserver之间做同步

总结:

在这个演示样例中主要演示了同步分析服务数据库的方法,使用这种方法能够作为备份以及故障转移或者迁移的方案。

此外,同步的server之间须要确保两边的分析服务版本号,比方从2012同步到2014上就会失败。所以考虑升级的话建议还是先导出成项目之后然后在Visual Studio里做升级。

没有域环境的话就比較麻烦,尽管能够考虑通过80port,可是这样一来server就会裸奔于网络环境。