怎样在 SSASserver之间做同步



简单介绍:

从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这个组填加到这里。

同步设置:

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

  1. 选择源server和数据库。

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

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

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

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

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

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

检查同步结果:

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

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

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

总结:

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

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

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

怎样在 SSASserver之间做同步

时间: 2024-09-30 09:28:31

怎样在 SSASserver之间做同步的相关文章

根据已经commit的数据,进行leader和peon之间的同步

Leader Election基本设计 按照rank表示优先级解决冲突问题,为每个monitor预先分配了一个rank 只会接受优先级(rank)比自己高.epoch比上次已接受的epoch大的选举请求 当选的leader,不一定有最新的数据.所以在phase 1中,会根据已经commit的数据,进行leader和peon之间的同步 用奇数的epoch表示选举状态,偶数表示稳定状态 一旦选举成功,会形成一个quorum,在该leader当选期间,所有提议,必须quorum中全部成员同意. Lea

C# 线程之间的同步

1.通过Join方法,暂停当前线程 Thread secondThread = new Thread(new ThreadStart(ThreadMethod)); secondThread.Start(); ... secondThread.Join(); 2.通过启动APM异步操作的方法,得到一个IAsyncResult对象,通过它有三种方法使得两个线程同步. public interface IAsynResult { object AsyncState{get; } WaitHandle

贴一段demo代码,演示channel之间的同步

package main import ( "fmt" "time" ) func deskGoRoutine(index int, userChannel chan string, deskChannel chan string) { for { fmt.Println("deskGoRoutine", index) select { case info := <-userChannel: if info == "userMsg

Java多线程——线程之间的同步

Java多线程——线程之间的同步 摘要:本文主要学习多线程之间是如何同步的,以及如何使用synchronized关键字和volatile关键字. 部分内容来自以下博客: https://www.cnblogs.com/hapjin/p/5492880.html https://www.cnblogs.com/paddix/p/5367116.html https://www.cnblogs.com/paddix/p/5428507.html https://www.cnblogs.com/liu

SqlServer 数据库同步的两种方式 (发布、订阅),主从数据库之间的同步

最近在琢磨主从数据库之间的同步,公司正好也需要,在园子里找了一下,看到这篇博文比较详细,比较简单,本人亲自按步骤来过,现在分享给大家. 在这里要提醒大家的是(为了更好的理解,以下是本人自己理解,如有错误,请指出):主数据库一般是把数据发布出去,然后在连接从数据库对发布的数据进行订阅,同步到从数据库中. 1.发布.发布需要用实际的服务器名称,不能使用服务器的IP地址进行.能发布的信息包括[表].[存储过程].[用户函数]如果使用IP会有错误,如下图: 具体发布过程如下: 1.找到数据库服务器下的[

连麦方案中各条流之间时间戳同步问题

在现今如火如荼的直播热潮中,最新的技术趋势是多用户之间进行连麦交互.连麦技术需要处理很多问题,包括音视频的解码及重新编码,音频重采样,视频帧率重采样,音视频同步等.其中的音视频同步包括合并后的流中的音视频时间同步,也包括多个连麦用户之间流的时间同步问题.这里讨论多个连麦用户之间的流时间同步问题. 这里提出一种方案,算是抛砖引玉,拿出来仅供大家讨论,欢迎指正. 方案说起来很简单,就一句话:各连麦用户使用同一时间参考系.为了实现该目标,需要以下几个步骤保证: 1. 各连麦用户开始推流前,到同一时间同

利用channel在goroutins之间控制同步和传递数据

在java等代码中,我们查询数据库的操作: sql = "select * from ...."; result = db.query(sql) for(item in result) { ..... } 但是在go语言中,这么做就有些土了,我们可以利用channel天生的队列和线程同步的特性来实现.这也是go和其它语言很明显的思维区别. db的封装: package main var database *db type db struct { req chan string res

vuex 实现vue中多个组件之间数据同步以及数据共享。

前言 在一些项目中有很多数据状态之间要实现数据共享状态共享,例如购物车的数据.用户的登录状态等等.vue父元素是可以通过props向子元素传递参数,子元素也可以通用smit向父元素传递参数.但是像购物车这种在项目中多个位置的引用时就会变得很麻烦.例如项目中使用了三个购物车的组件,那么当其中一个组件的值发生改变时,就要通过自身告诉父组件我的值发生改变了,然后父组件在通知其他两个购物车组件值发生改变了,需要进行同步,这样就会变得很麻烦.而vue-v就可以帮助我们解决这个繁琐的问题.

DataX实现HDFS与MySQL之间数据同步

本案例仅适用于HDFS与MySQL之间的数据同步实现. 1.  在编译安装之前注意将release下面的setSharePath方法中的路径改为你自己的安装路径,笔者的为/home/woody/datax/libs. 2.  rpm打包之前,要修改*.spec文件中的路径,dataxpath,此外可能还需要注解掉部分赋值文件的代码,如cp  –r ${OLDPWD}****.properties ****.conf,在engine.spec中的jar包复制语句也要注解掉. 3.  注意将hdfs