关键字:
中电科金仓、KingbaseFlySync、KFS、同步程序、replicator、数据同步、SQLServer、Always On、不丢数、CDC
1. 使用场景
KFS支持SQLServer Always On集群作为源端进行数据同步,此时集群通过主节点的SQLServer Agent中的捕获作业进行变更数据捕获。
在用户的实际使用过程中,Always On集群主节点可能会因为某些原因(例如掉电、磁盘异常)导致数据库服务异常,从而导致集群发生故障切换,此时节点中的某个备节点会升级为主节点,从而保证数据库集群的正常运行。
当集群发生故障切换后,KFS可以通过在新主节点上进行相关配置,从而保证KFS能从新正常解析,并且不丢数。
2. 配置使用方式介绍
2.1 集群故障切换前的配置
集群故障切换前,需要在主节点上配置CDC(CDC配置请参考相关文档):
- 对每张业务表,系统会自动生成cdc.dbo_Department_CT系统更改表(CT代表Capture Table),并且自动生成的系统更改表会自动同步到集群的其它所有备节点
- KFS会在master库生成一个登录名(不会同步到备节点),并在对应数据中生成对应的用户(会同步到备节点)
- SQLServer在主节点的SQLServer Agent中自动生成两个作业:捕获作业和清理作业,且这两个作业不会同步到备节点
2.2 集群故障切换后的配置
- 在当前主节点的master库中,新建一个同名的登录名
- 通过如下命令,在SQLServer Agent中手动创建清理作业和捕获作业
USE dbName
GO
EXEC sys.cdc_add_job @job_type = N’capture’;
GO
EXEC sys.cdc_add_job @job_type = N’cleanup’,
@retention=5760;
GO
3. 重启SQLServer Agent
4. 重启KFS(如果kfs配置的是VIP,则直接重启,否则需要在配置文件中将数据库IP更改为新主节点的IP,然后更新KFS并重启)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




