金蝶云星空配置读写分离分发服务器

金蝶云星空 查询库配置指南

目录

前言 1

部署 1

前提 2

配置 2

配置分发服务器 2

配置发布服务器 6

备份发布数据库 13

配置订阅服务器 13

生成快照 17

初始化订阅 19

监控复制管理器 20

附注 21

前言

为了提高金蝶云星空产品并发能力和性能,解决大并发和大数据量的环境下单台SQL Server能力可能存在瓶颈的问题。金蝶云星空产品通过内部架构技术,将事务操作和报表/序时薄操作部署在不同的服务器上,从而实现服务器能力横向扩展的能力。

为了实现这一个功能,需要依赖SQL Server的复制功能来完成,本文档对如何部署SQL server的事务复制环境,实现金蝶云星空的事务操作和报表/序时薄操作进行说明。

本文档以SQL Server 2008 R2产品进行说明。

部署

SQL Server事务部署的架构一般如下图

发布服务器为金蝶云星空中的事务操作服务器;

订阅服务器为金蝶云星空中的报表/序时薄服务器;

前提

SQL Server的事务复制过程中需要访问共享目录,使用SQL Server Agent一起来协助完成,涉及到了用户权限的问题。由于windows权限体系较为复杂,并且数据库服务器一般不会暴露在外网,建议使用简单的权限体系。

  1. 启动SQL Server服务和SQL Server Agent服务建议采用本地系统身份启动,不要使用Network Services,因为后者是受限用户。并保证已经启动;
  2. 如果是非域环境,发布/订阅/分发服务器增加相同的管理员用户;
  3. 如果是域环境,可以考虑采用同一域用户,域用户最好可以加到本地的管理员组中;
  4. 操作系统和数据库版本最好一直;

配置

本文档一分发服务器和发布服务器部署在同一台机器,订阅服务器部署在一台机器上进行说明。

配置分发服务器

SQL Server的复制,分发服务器与订阅和发布服务器可以在一台机器,但在实际生产环境中,为了确保系统的性能和可用性。建议将分发服务器单独部署在一台机器上。

配置步骤如下;

  1. 设置共享目录,如果数据库的实体比较大,那些需要保证有足够的可用磁盘空间;

并且赋予Every One可以读取的权限

  1. 选择复制/配置分发

  1. 选择分发服务器,这里选择本机,如果需要选择其它机器作为分发服务器,选择第二个单选框,然后添加;

  1. 设置共享路径

  1. 设置分发数据库名称和数据库文件存储路径

  1. 设置发布数据库的属性,代理的连接模式,这里采用SQL Server身份验证

  1. 完成配置分发,如果需要脚本,可以选择【生成包含…】

配置成功后,可以查看分发服务器的属性

属性包括事务保持的时间以及历史记录保持期间,同时可以修改【默认配置文件】来配置每次同步的一些参数选项。

配置发布服务器

配置那个数据库将通过分发服务器进行数据发布,发布的对象可以数据库中的全部或者部分表,视图,存储过程,用户自定义函数等等。

配置步骤如下:

  1. 选择新建发布

  1. 选择需要发布的数据库

  1. 选择发布方式,选择事务发布方式

  1. 选择需要发布的对象,选择所有对象,忽略视图脚本以及不过滤数据

  1. 暂不创建快照,待配置完成后

  1. 设置代理安全性

注:如果网络环境为非域模式,选择SQL Server代理账户运行。

  1. 创建发布

  1. 命名创建的发布

  1. 成功后,可以本地发布下增加了publisher的发布

  1. 设置发布数据库以同步方式进行备份,如果发布其它数据数据,修改@dbname的值即可
declare @dbname sysname

set @dbname='AIS20130221093654'

if not exists(select * from sys.databases where is_sync_with_backup=1 and name=@dbname)

exec('sp_replicationdboption '''+@dbname+''',''sync with backup'',''true''')

备份发布数据库

在建立发布后,就可以对发布的数据库进行备份,然后在订阅服务器上进行还原来完成事务复制的部署。

配置订阅服务器

在完成分发和发布服务器的配置后,接下来就可以进行订阅服务器的配置。对于一个发布服务,可以建立多个分发服务器,但对象金蝶云星空产品,目前支持一个分发服务器,所以只需要配置一个即可。

配置步骤如下:

  1. 将备份的分发数据库,在订阅服务器上还原
  2. 选择新建订阅

  1. 选择发布服务器

  1. 选择订阅的方式,为了减轻发布服务器的压力,在订阅服务器上运行代理来进行数据同步

  1. 选择步骤一中还原的数据库作为订阅数据库

  1. 设置分发代理的安全性

  1. 设置数据同步数据的频度为连续运行

  1. 由于发布服务器未产生快照,暂不初始化订阅服务器

  1. 创建订阅,如果需要生成脚本,如果需要脚本,可以选择【生成包含…】

  1. 成功后,在订阅服务器上可以看到新增的订阅

在发布服务器上,可以看到,订阅已经增加到发布节点下

生成快照

在完成上述的配置后,事务复制的体系就已经建立完成。接下需要对复制数据做准备,首先我们必须根据发布服务器的发布的对象生成快照。

生成快照可以通过选择查看快照代理状态,在快照代理界面选择启动来完成快照生成

下图是启动后,完成快照的情况,可以看到快照生成花费了6分47秒,公有2296个项目生成了快照。

生成快照后,我们就可以在分发服务器的共享目录下,看到快照文件信息

上面的操作,也可以通过复制管理器来完成

在代理页签,可以看到下面信息

初始化订阅

在生成快照后,需要对订阅进行初始化。在发布服务器上通过重新初始化来完成

选择使用当前的快照,然后标记为要重新初始化,即可完成初始化操作。

同样上面的操作,也可以通过复制管理器来完成

从上面可以看到订阅的日志情况

监控复制管理器

对复制的监控,可以通过复制管理器来完成,复制管理将监控发布服务器,订阅服务器以及代理的运行情况,并且对其进行管理。

发布数据库架构更新

在事务复制体系中,发布数据库可能出现下面一些情况:

  1. 增加/删除字段;
  2. 新建表;
  3. 删除已经发布的表;

下面就针对出现这些情况下,如何保证订阅库跟发布库的一致性,进行说明。

增加/删除字段

对于表字段的新增/删除,在发布数据库中修改后,事务复制将自动同步,并且基本上是立即完成。

新建表

配置步骤如下(以test表为例):

  1. 打开发布数据库的属性

  1. 选择发布属性中的项目页签,选中test表,然后点确定按钮

注:

如果原来已经选择,默认是勾选状态;

可以看到T_WF_TESTCASE有个禁用的图标,说明其没有主键,不能作为发布的对象

  1. 启动快照代理,此时会根据发布属性中选择的项目,重新生成快照

  1. 点击监视按钮,查看分发服务器到订阅服务器的历史记录,可以看到复制test表的日志;

  1. 在订阅库上执行select * from test,可以看到可以正确执行,说明新建的表已经成功同步到订阅库;

删除表

从目前的数据规范来看,脚本中是不允许出现Drop语句的。如果的确出现了在复制体系中,由于该表参与了复制,会提示由于参与复制,不能被删除的,此时需要从复制体系的发布项目中将该对象取消。

删除方式如下:

  1. 打开发布数据库的属性,参见新建表步骤1
  2. 不勾选test表,此时提示快照会失效,但不影响订阅,选择【是】,然后在发布属性界面点击【确定】

  1. 然后在发布库和订阅库上上执行删除test表的命令即可。

附注

服务器都需要使用机器名,而非IP地址

金蝶云星空查询库使用说明

在数据库配置查询库妥当后,直接登录管理中心,选择查询库所对应的标准业务库,进行查询库的注册即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值