Sqlserver数据库集群多实例内存管理及分配方法

文档序号:8282345阅读:903来源:国知局
Sql server数据库集群多实例内存管理及分配方法
【技术领域】
[0001]本发明属于数据处理领域,涉及SQL SERVER数据库集群实例的内存管理及分配方法,用于实现在线应用的数据库多个实例内存的动态分配及管理。
【背景技术】
[0002]目前在SQL SERVER数据库集群的多节点、多实例领域,大多是N节点、N-1个实例的配置,一个节点作为备用节点,其余节点上,每个节点运行一个实例。这种配置,不太完善,存在着一些问题。具体问题包括:1.浪费了一台节点服务器,正常情况下,备用节点服务器没有在线运行数据库。2.每个实例根据业务需求,占用的资源是不同的,而节点服务器的配置相同,资源占用有高有低,无法平均分配资源。3.备用节点是所有节点的备用,当出现一个以上节点故障时,该备用节点会运行多个占用资源高的实例,备用节点的资源不够分配,影响业务运行。而多节点多实例集群,将实例拆分为多个小实例,每个节点运行多个实例,将实例运行的压力平均分配在各个数据库节点服务器上。在数据库集群领域,一直在寻求服务器资源的最大利用的方法,是当前重要的研发课题之一。
[0003]

【发明内容】

[0004]要解决的技术问题:本发明的主要目的在于,解决现有领域的问题,提供一种新的SQL SERVER数据库集群多实例内存管理及分配的方法,使得数据库集群服务器的资源得到最大限度的使用。
[0005]技术方案:本发明采用以下的技术方案来实现,共分为四个步骤。
[0006]步骤1:配置多节点多实例的SQL SERVER数据库集群环境;
配置多节点的集群环境,根据节点数、服务器配置的内存数量、CPU主频将数据库分为多个实例;具体配置按实例数=节点数X2进行分配;在集群节点上安装数据库实例,每个实例都需要在安装在两个节点上;每个节点需要安装4个实例,2个实例正常运行,另2个实例是其余节点实例的备用;
步骤2:配置数据库实例占用的服务器内存;
使用数据库的内置系统函数sp_ configure函数对实例的目标服务器内存进行配置;每个实例的目标服务器内存需要配置为服务器内存的45%;使得每个节点运行时的数据库内存占有量在90%;
步骤3:配置集群节点故障,数据库实例切换后所占用的服务器内存;
使用数据库服务器级对象触发器对集群切换后的实例内存进行重新配置;实例切换后触发器启动,读取该服务器节点上正在运行的实例个数;根据如下公式进行计算:
实例的目标服务器内存=集群节点服务器内存数量X 90% -节点运行实例个数使用数据库函数sp_COnfigUre函数对实例的目标服务器内存进行配置;
步骤4:配置集群节点故障恢复,数据库实例切换回原节点,实例占用的服务器内存恢复回配置值。
[0007]有益效果:本发明多节点集群SQL SERVER数据库多实例内存管理及分配方法至少具有下列优点:1、节省了备用节点服务器。本发明的多节点集群SQL SERVER数据库多实例内存管理及分配方法中,每个集群的节点服务器都运行2个或2个以上的实例,不存在备用的数据库节点服务器。2、减少了节点服务器资源的浪费。本发明的多节点集群SQLSERVER数据库多实例内存管理及分配方法中,数据库实例占用的节点服务器内存,会根据业务需要、节点内存值等多因素,进行计算,得出最优化的内存值,使得每个节点服务器上的内存值都能得到最有效的利用。3、对实例目标服务器内存进行动态分配。本发明的多节点集群SQL SERVER数据库多实例内存管理及分配方法中,在集群进行故障切换后,能够对每个数据库实例的目标服务器内存进行重新分配,不会出现故障切换后,有的节点运行实例过多,造成内存崩溃的现象。综上所述,本发明实现了多节点集群SQL SERVER数据库多实例内存管理及分配的动态化配置,对集群节点的内存资源利用具有高效性和实时性。在技术上有显著的进步,并具有明显的积极效果,诚为一新颖、进步、实用的新方法。
[0008]
【具体实施方式】
[0009]下面将对本发明实施例中的技术方案进行详细的描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0010]步骤1:配置多节点多实例的SQL SERVER数据库集群环境;
配置多节点的集群环境,根据节点数、服务器配置的内存数量、CPU主频将数据库分为多个实例;具体配置按实例数=节点数X2进行分配;在集群节点上安装数据库实例,每个实例都需要在安装在两个节点上;每个节点需要安装4个实例,2个实例正常运行,另2个实例是其余节点实例的备用;
步骤2:配置数据库实例占用的服务器内存;
使用数据库的内置系统函数sp_ configure函数对实例的目标服务器内存进行配置;每个实例的目标服务器内存需要配置为服务器内存的45%;使得每个节点运行时的数据库内存占有量在90%;
步骤3:配置集群节点故障,数据库实例切换后所占用的服务器内存;
使用数据库服务器级对象触发器对集群切换后的实例内存进行重新配置;实例切换后触发器启动,读取该服务器节点上正在运行的实例个数;根据如下公式进行计算:
实例的目标服务器内存=集群节点服务器内存数量X 90% -节点运行实例个数使用数据库函数sp_COnfigUre函数对实例的目标服务器内存进行配置;
步骤4:配置集群节点故障恢复,数据库实例切换回原节点,实例占用的服务器内存恢复回配置值。
【主权项】
1.SQL SERVER数据库集群多实例内存管理及分配方法,其特征在于包括以下步骤: 步骤1、配置多节点多实例的SQL SERVER数据库集群环境;配置多节点的集群环境,根据节点数、服务器配置的内存数量、CPU主频将数据库分为多个实例; 步骤2、配置数据库实例占用的服务器内存;使用数据库的内置系统函数sp_configure函数对实例的目标服务器内存进行配置; 步骤3、配置集群节点故障,数据库实例切换后所占用的服务器内存; 使用数据库服务器级对象触发器对集群切换后的实例内存进行重新配置;实例切换后触发器启动,读取该服务器节点上正在运行的实例个数,并进行计算;使用数据库函数sp_configure函数对实例的目标服务器内存进行配置; 步骤4、配置集群节点故障恢复,数据库实例切换回原节点,实例占用的服务器内存恢复回配置值。
2.根据权利要求1所述的SQLSERVER数据库集群多实例内存管理及分配方法,其特征在于:步骤I中根据节点数、服务器配置的内存数量、CPU主频将数据库分为多个实例时,具体配置按实例数=节点数X2进行分配。
3.根据权利要求1所述的SQLSERVER数据库集群多实例内存管理及分配方法,其特征在于:步骤I中在集群节点上安装数据库实例,每个实例都需要在安装在两个节点上?’每个节点需要安装4个实例,2个实例正常运行,另2个实例是其余节点实例的备用。
4.根据权利要求1所述的SQLSERVER数据库集群多实例内存管理及分配方法,其特征在于:步骤2中每个实例的目标服务器内存需要配置为服务器内存的45% ;使得每个节点运行时的数据库内存占有量在90%。
5.根据权利要求1所述的SQLSERVER数据库集群多实例内存管理及分配方法,其特征在于:步骤3中计算方式为实例的目标服务器内存=集群节点服务器内存数量X90% +节点运行实例个数。
【专利摘要】本发明属于数据处理领域,涉及SQL SERVER数据库集群多实例内存管理及分配方法,包括以下步骤:步骤1、配置多节点多实例的SQL SERVER数据库集群环境;步骤2、配置数据库实例占用的服务器内存;步骤3、配置集群节点故障,数据库实例切换后所占用的服务器内存;步骤4、配置集群节点故障恢复,数据库实例切换回原节点,实例占用的服务器内存恢复回配置值。本发明多节点集群SQL SERVER数据库集群多实例内存管理及分配方法具有以下优势:节省了备用节点服务器;对实例目标服务器内存进行动态分配。实现了多节点集群SQL SERVER数据库多实例内存管理及分配的动态化配置,具有高效性和实时性。
【IPC分类】G06F9-50, G06F17-30
【公开号】CN104598524
【申请号】CN201410806579
【发明人】董斌, 董阳, 张吉英, 程力南, 李德逸
【申请人】苏州博远容天信息科技有限公司
【公开日】2015年5月6日
【申请日】2014年12月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1