简单介绍:
从SQL Server 2005開始,分析服务就支持了同步的功能。本文将介绍怎样在SQL Server 2012下同步Adventureworks的分析服务数据库。通过同步的功能,我们就来能够弥补分析服务在差异备份以及全量备份上的不足,从而间接的实现类似故障转移这种功能。
Adventureworks是微软的演示样例数据库项目,包括了OLTP,数据仓库以及分析服务数据库的演示样例,能够在以下这个链接里下载到这个演示样例库:
http://msftdbprodsamples.codeplex.com/releases/view/55330
在这个演示样例中,包括了两个SQL Serverserver,一个命名为SSAS,还有一个为DEV。在SSASserver上我们已部署好了Adventureworks分析服务数据库,另外一台DEV的server上没有部署。以下将演示怎样把这个演示样例数据库同步过来。
这里首先我们须要确保两台server都处于一个域中,而且为他们分别创建一个账户。这里我们创建一个叫BIAdmin的组。
然后,把这个组填加到分析服务的管理员组中。右键SQL Server Management Studio连接到的分析服务,右键单击属性:
点击Security中把BIAdmin这个组填加到这里。
同步设置:
- 使用为两台server共同创建的域帐号打开SSMS(Shift+鼠标右键)。
- 连接到分析服务之后,在Database目录之下右键点击然后选择同步选项。
- 选择源server和数据库。
- 在同步选项中,能够选择:
- Copy all –这个选项会拷贝全部内容。当你在目标server还没有这个库的时候就能够选择这项。
- Skip membership –这个选项仅仅会拷贝角色,可是成员信息不会同步。当目标server已经配置好的成员不想被覆盖的时候,能够考虑这个选项。
- Ignore all –不同步角色和用户信息。
- 第一次同步的时候会得到以下的错误。
- 解决问题的方法是使用两台server上都有权限的域账户来又一次启动分析服务。能够打开SQL Server Configuration Manager(SSCM)来完毕这个更改。
- 在SSCM中双击SQL Server Analysis Service,在账户名这里,配置成为两个server创建的账户,然后又一次启动分析服务。
- 然后同步就能够顺利通过了。
- 成功后能够看到例如以下信息。
检查同步结果:
- 在目标server中能够看到Adventureworks数据库已经同步了过来。
- 接下来验证是否有更改被同步,比方在源server中删除一个分区:
- 反复同步的步骤。能够看到在源server上做的删除分区的更改已经被同步到目标server上了。
总结:
在这个演示样例中主要演示了同步分析服务数据库的方法,使用这种方法能够作为备份以及故障转移或者迁移的方案。
此外,同步的server之间须要确保两边的分析服务版本号,比方从2012同步到2014上就会失败。所以考虑升级的话建议还是先导出成项目之后然后在Visual Studio里做升级。
没有域环境的话就比較麻烦,尽管能够考虑通过80port,可是这样一来server就会裸奔于网络环境。