[发明专利]主从副本账号同步优化方法在审
申请号: | 202011019020.5 | 申请日: | 2020-09-24 |
公开(公告)号: | CN112667742A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 于占水 | 申请(专利权)人: | 紫光云技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/21 |
代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 刘莹 |
地址: | 300459 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 主从 副本 账号 同步 优化 方法 | ||
本发明提供了一种主从副本账号同步优化方法,包括以下步骤:S1、输入参数为监听器名称;S2、通过输入参数获取主从副本对象;S3、判断主辅副本对象是否存在,不存在则记录日志返回,无需同步,存在则进行步骤S4;S4、存在则获取主辅副本登录账号集合,定义主副本登录账号集合PR,辅助副本登陆账号集合SR,确定集合PR‑SR与SR‑PR,遍历两个集合,辅助副本为Remove,主副本为Copy。本发明所述的主从副本账号同步优化方法通过设计编写PowerShell脚本,输入参数为监听器名称,通过调用便可实现账号、参数同步。
技术领域
本发明属于账号同步优化领域,尤其是涉及一种主从副本账号同步优化方法。
背景技术
SQL Server基于AlwaysOn的高可用,主从副本仅仅同步用户库及其包含的对象,诸如登录账号及其权限,参数等不会自行同步。需要制定相应策略,外加干预才能实现。目前,通过网络检索、总结,大多数账号同步通过Powershell dbatools内置函数如Sync-DbaAvailabilityGroup或者存储过程sp_help_revlogin或者编写TSQL再由定时任务周期触发,来实现账号、权限、参数等的同步。
通过同步对象分类,分开阐述存在问题:登录账号同步:账号变化有增加账号、删除账号及修改账号权限等;通过阅读源码,针对账号删除,目前并不能实现同步。假设初始态主从两个副本账号一致,主副本删除账号A,发起同步,辅助副本账号A依然存在;如果发生主从切换,原辅助副本就会把账号A再次同步给原主副本,导致账号A并没有真正的删除;其它如账号增加/权限的变化同步正常,不存在相似问题。
发明内容
有鉴于此,本发明旨在提出一种主从副本账号同步优化方法,以解决上述问题中的不足之处。
为达到上述目的,本发明的技术方案是这样实现的:
主从副本账号同步优化方法,包括以下步骤:
S1、输入参数为监听器名称;
S2、通过输入参数获取主从副本对象;
S3、判断主辅副本对象是否存在,不存在则记录日志返回,无需同步,存在则进行步骤S4;
S4、存在则获取主辅副本登录账号集合,定义主副本登录账号集合PR,辅助副本登陆账号集合SR,确定集合PR-SR与SR-PR,遍历两个集合,辅助副本为Remove,主副本为Copy。
进一步的,步骤S2中,通过输入参数及Primary和Secondary角色分别获取主从副本对象,进而获取主从副本同步前各自登录账号集合。
进一步的,步骤S4中,通过集合双向查找,分别找到各自差集,在双向差集确定后,便可依次遍历差集;
遍历差集的方法为:首先遍历SR-PR,通过指定实例名称SQLInstance及登录账号Login删除辅助副本独有的账号,然后遍历差集PR-SR,同步COPY主副本账号及同步账号权限。
进一步的,进行完步骤S4后校验,通过分别获取主从辅助副本账号个数,简单比对账号个数是否相等确认账号同步是否成功。
相对于现有技术,本发明所述的主从副本账号同步优化方法具有以下优势:
本发明所述的主从副本账号同步优化方法通过设计编写PowerShell脚本,输入参数为监听器名称,通过调用便可实现账号、参数同步。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的主从副本账号同步优化方法流程图示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云技术有限公司,未经紫光云技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011019020.5/2.html,转载请声明来源钻瓜专利网。