[发明专利]SQL Server数据库的自增主键扩容方法及相关设备有效
申请号: | 202111030890.7 | 申请日: | 2021-09-03 |
公开(公告)号: | CN113704270B | 公开(公告)日: | 2023-10-17 |
发明(设计)人: | 杨智 | 申请(专利权)人: | 携程金融科技(上海)有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 上海隆天律师事务所 31282 | 代理人: | 徐莉;钟宗 |
地址: | 200335 上海市长宁区金钟*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql server 数据库 主键 扩容 方法 相关 设备 | ||
本发明涉及数据处理技术领域,提供一种SQLServer数据库的自增主键扩容方法、系统、设备和介质。自增主键扩容方法包括:获得SQLServer数据库中待扩容自增主键对应的表容量;于表容量小于等于第一预设值时,对待扩容自增主键的字段类型进行硬升级;于表容量大于第一预设值且小于第二预设值时,在SQLServer数据库中通过异构复制方式对待扩容自增主键的字段类型进行升级;于表容量大于等于第二预设值时,将SQLServer数据库所属的源服务器的所有数据库全库同步至目标服务器,对目标服务器中对应SQLServer数据库的目标数据库的自增主键的字段类型进行硬升级,并将源服务器切换至目标服务器。本发明能够根据表容量对数据表的自增主键进行扩容,且扩容期间达到业务秒级中断。
技术领域
本发明涉及数据处理技术领域,具体地说,涉及一种SQL Server数据库的自增主键扩容方法、系统、设备和介质。
背景技术
当业务发生变化,需要对表中的自增主键字段的类型进行扩容,尤其是订单类型的业务表,表中的自增主键的字段类型是INT类型。INT类型的最大值是2147483647,当写入值超出2147483647后,将会出现写入数据库报错。如果不及时对自增主键字段的类型做扩容操作,则业务将面临无法下单,有重大的隐患存在。
通过将自增主键的字段类型从INT升级到BIGINT,能够实现对自增主键的扩容。常规的自增主键的字段类型升级方式是:删除主键索引→升级字段类型(INT→BIGINT)→添加主键索引。上述三步操作中,每一步操作都会对数据库的业务造成影响,导致分钟级/小时级的业务中断时长(具体耗时与表容量成正比),且无法控制操作时间。是否能完成字段升级,完全依赖于表的访问量和容量。
常规的自增主键的字段类型升级方式,主要存在如下问题:对于访问量大的表,会导致数据库服务器的CPU/Block增加;对于容量大的表,会导致数据库服务器的IO消耗增加;升级有可能会导致数据库服务器夯死,无法对外提供服务;当一个数据库中有N张表需要升级字段类型时,宕机成本为N*分钟级/小时级;升级后没有回退方案,如果要回退,则需要重新进行一遍自增主键的字段类型升级操作流程。
需要说明的是,上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种SQL Server数据库的自增主键扩容方法、系统、设备和介质,能够根据表容量对数据表的自增主键的字段类型进行快速稳定升级,实现自增主键的扩容,且扩容期间达到业务秒级中断。
本发明的一个方面提供一种SQL Server数据库的自增主键扩容方法,包括:获得SQL Server数据库中待扩容自增主键对应的表容量;于所述表容量小于等于第一预设值时,对所述待扩容自增主键的字段类型进行硬升级;于所述表容量大于所述第一预设值且小于第二预设值时,在所述SQL Server数据库中通过异构复制方式对所述待扩容自增主键的字段类型进行升级;于所述表容量大于等于所述第二预设值时,将所述SQL Server数据库所属的源服务器的所有数据库全库同步至目标服务器,对所述目标服务器中对应所述SQL Server数据库的目标数据库的自增主键的字段类型进行硬升级,并将所述源服务器切换至所述目标服务器。
在一些实施例中,所述在所述SQL Server数据库中通过异构复制方式对所述待扩容自增主键的字段类型进行升级,包括:在所述SQL Server数据库中创建目标数据表,所述目标数据表的自增主键的字段类型为目标类型;通过异构复制方式,将所述待扩容自增主键所属的原数据表的数据同步至所述目标数据表;中断所述SQL Server数据库的业务,对所述原数据表和所述目标数据表进行表名交换获得更新数据表后,恢复所述SQL Server数据库的业务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于携程金融科技(上海)有限公司,未经携程金融科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111030890.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型太阳模拟装置
- 下一篇:一种旅游景区用宣传板