搜课云网 > 上海内威培训 > 资讯总汇 > SQL Server 复制:事务发布

SQL Server 复制:事务发布

机构:上海内威培训 时间:2016-01-23 08:41:17 点击:628

  一、背景

  在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取到这些数据,作为DBA你需要从权限和性能控制的角度出发,我采用了SQL Server的事务复制技术和timestamp,下面只讲述事务复制的搭建过程;

  二、实现过程

  (一) 环境信息

  系统环境:Windows Server 2008 + SQL Server 2008 R2

  发布服务器:192.168.1.151,服务器名称:USER-H2B2A89PEK

  分发服务器:与发布服务器同一台机器

  订阅服务器:192.168.1.152,服务器名称:USER-FJMO8L052U

  发布数据库:Task

  订阅数据库:TaskSiteInfo

  数据库帐号:ReplicationUser/ ReplicationPassword

  (二) 搭建步骤

  A. 发布服务器配置

  首先在发布数据库和订阅数据库上创建相同的帐号和密码(ReplicationUser/ ReplicationPassword),并且设置Task数据库的安全对象,设置这样的帐号的目的就是为了和程序连接到数据库的帐号区分开,可以做权限上的控制,方便问题的排查;

  --更改安全对象的所有权

  ALTER AUTHORIZATION ON DATABASE::[Task] TO [ReplicationUser]

  在E盘目录下创建文件夹:E:\ReplData,并设置这个文件夹为共享目录,共享用户为barefootadmin;

image

  (Figure1_1:文件夹权限)

  这里需要设置SQL Server Agent登陆帐号为上面文件夹访问用户barefootadmin;

image

  (Figure1_2:SQL Server Agent登陆帐号)

image

  (Figure2:分发服务器)

  如果你设置快照文件夹路径为:E:\ReplData,即使你的发布服务器本身就是分发服务器,如果订阅服务器是另外一台机器,那么在请求(Pull)订阅(如果是推送(Push)订阅就没有这个限制)模式下订阅代理是无法访问到这个快照文件的;除非你发布服务器、分发服务器和订阅服务器都是同一台机器;你应该设置快照文件夹路径为:\\USER-H2B2A89PEK\ ReplData;

image

  (Figure3:快照文件夹)

image

  (Figure4:数据库)

  快照发布:隔一段时间会覆盖订阅服务器的数据库,在订阅服务器上做的修改同样被覆盖;

  事务发布:是一种接近实时地从源到目标分发数据的方法;

  具有可更新订阅的事务发布:订阅服务器可更新发布服务器的数据;

  合并发布:发布服务器和订阅服务器的更新都会同步到对方,注意ID在合并发布上的冲突

  了解更多关于软件方面的知识,请访问上海软件培训学校

下一篇:合并列方法总结
师资介绍