CN109271461A - SQL Server数据库的增量合成备份方法和装置 - Google Patents
SQL Server数据库的增量合成备份方法和装置 Download PDFInfo
- Publication number
- CN109271461A CN109271461A CN201811161572.2A CN201811161572A CN109271461A CN 109271461 A CN109271461 A CN 109271461A CN 201811161572 A CN201811161572 A CN 201811161572A CN 109271461 A CN109271461 A CN 109271461A
- Authority
- CN
- China
- Prior art keywords
- backup
- database
- backed
- data block
- increment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种SQL Server数据库的增量合成备份方法、装置、计算机设备和计算机可读存储介质,其中方法包括:若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;若改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;若改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。上述SQL Server数据库的增量合成备份方法,通过设置的备份量阈值比对,在增量备份和完全备份之间选用合适的备份方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQL Server数据库的增量合成备份效率。
Description
技术领域
本发明涉及数据库备份技术领域,特别是涉及一种SQL Server数据库的增量合成备份方法、装置、计算机设备和计算机可读存储介质。
背景技术
SQL Server数据库是目前世界上使用最广泛,市场占有率最高的关系型数据库系统之一。它内置的备份方法主要有完全备份、差异备份和日志备份:其中,差异备份拷贝自上次完全备份以来变更的数据,备份窗口和恢复时间取决于变更数据量的大小,恢复依赖于完全备份,仅能恢复至备份时的状态。
然而,上述SQL Server数据库的差异备份方法,随着业务的进行,数据库变更的数据量变大,使得差异备份窗口增大,甚至超过完全备份,导致后期数据库备份的效率显著降低。
发明内容
基于此,有必要针对上述技术问题,提供一种SQL Server数据库的增量合成备份方法、装置、计算机设备和计算机可读存储介质。
一种SQL Server数据库的增量合成备份方法,包括:
若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
若改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
若改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
上述SQL Server数据库的增量合成备份方法,在首次备份时进行完全备份,后续备份时,在需要备份的数据库相较于最近一次完全备份的数据库之间的改变量未超出备份量阈值时,新增的或需要修改的数据量较小,通过增量备份对数据库进行备份具有较高的效率,如果需要备份的数据库相较于首次完全备份的数据库之间的改变量超出备份量阈值,进行增量备份将需要耗费较多的资源,甚至超过完全备份的数据量,则采用完全备份对数据库进行更新,通过设置的备份量阈值比对,选用合适的方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQL Server数据库的增量合成备份效率。
在一个实施例中,本发明实施例的SQL Server数据库的增量合成备份方法还包括:若当前待备份的数据库是首次备份,则对数据库进行完全备份。
上述实施例的技术方案,在当前待备份的数据库是首次备份,则对数据库进行完全备份,将首次完全备份的数据库存储在服务器中,以便于后续数据库备份的信息比对。
在一个实施例中,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量,包括:对待备份的数据库中的每一个数据库文件,从待备份的数据库中取得该数据库文件的文件标识;对每一个文件标识,从待备份的数据库中取得差异更改映射表;遍历差异更改映射表,获取更改的数据块的数量;根据所述更改的数据块的数量,确定当前待备份的数据库与首次完全备份的数据库之间的改变量。
其中,差异更改映射表用于记录更改的数据块的索引信息;其中,更改的数据块是指的当前待备份的数据库中,与最近一次完全备份的数据库相比,增加和/或修改的数据块。
上述实施例的技术方案,通过将当前待备份的数据库分割成数据块,将数据块分别与首次完全备份的数据库进行比对,统计其中发生变化的数据块的总数,作为当前待备份的数据库与首次完全备份的数据库之间的改变量,可以快速确定所需的改变量的值。
在一个实施例中,则对当前待备份的数据库进行增量备份,包括:以预设的块大小对当前待备份的数据库进行分块,得到分割的数据块;针对各个数据块,若当前数据块不存在于最近一次备份的备份集中,则将数据块合成到最近一次备份的备份集中,生成合成备份集。
上述实施例的技术方案,每次备份均为增量备份,避免重复备份数据块,不传输重复数据,突破了SQL Server没有增量备份的限制,既降低了备份的空间消耗,又提高了备份速度。
进一步地,在一个实施例中,针对各个数据块,若当前数据块不存在于最近一次备份的备份集中,则将数据块合成到最近一次备份的备份集中,生成合成备份集,包括:计算各个数据块的指纹;针对各个数据块,若当前数据块的指纹不存在于数据块指纹库中,则将该数据块的指纹存入数据块指纹库中,并将对应的数据块合成到最近一次备份的备份集中,生成合成备份集。
上述实施例的技术方案,以极小的指纹比较来代替较大的数据块比较,能够显著提升数据块比对的效率。
在一个实施例中,SQL Server数据库的增量合成备份方法还可以包括步骤:选择待备份的终端设备,选择终端设备上的SQL数据库实例,根据SQL数据库实例选择待备份的数据库。
上述实施例的技术方案,在对数据库进行备份之前,预先设置SQL Server数据库的增量合成备份参数,根据设置的备份参数选择对应的数据库进行备份。
进一步地,在一个实施例中,SQL Server数据库的增量合成备份方法还包括:设置备份周期,依照备份周期,周期性对待备份的数据库进行备份。
上述实施例的技术方案,用户可以在备份之前在终端预先设置好备份周期,终端会按照备份周期自动对数据库进行备份。保证数据库得到实时的备份,以确保备份数据库的安全性。
应该理解的是,虽然上述实施例中的各个步骤按照编号依次排列,但是这些步骤并不是必然按照编号的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例的步骤中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
一种SQL Server数据库的增量合成备份装置,包括:
改变量计算模块,用于若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
完全备份模块,用于若改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
增量备份模块,用于若改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
若所述改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
若所述改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
上述计算机设备,其处理器执行程序时,通过实现如上步骤,从而可以在首次备份时进行完全备份,后续备份时,在需要备份的数据库相较于最近一次完全备份的数据库之间的改变量未超出备份量阈值时,新增的或需要修改的数据量较小,通过增量备份对数据库进行备份具有较高的效率,如果需要备份的数据库相较于首次完全备份的数据库之间的改变量超出备份量阈值,进行增量备份将需要耗费较多的资源,甚至超过完全备份的数据量,则采用完全备份对数据库进行更新,通过设置的备份量阈值比对,选用合适的方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQL Server数据库的增量合成备份效率。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
若所述改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
若所述改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
上述计算机可读存储介质,其存储的计算机程序,通过实现如上步骤,从而可以在首次备份时进行完全备份,后续备份时,在需要备份的数据库相较于最近一次完全备份的数据库之间的改变量未超出备份量阈值时,新增的或需要修改的数据量较小,通过增量备份对数据库进行备份具有较高的效率,如果需要备份的数据库相较于首次完全备份的数据库之间的改变量超出备份量阈值,进行增量备份将需要耗费较多的资源,甚至超过完全备份的数据量,则采用完全备份对数据库进行更新,通过设置的备份量阈值比对,选用合适的方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQLServer数据库的增量合成备份效率。
附图说明
图1为一个实施例中SQL Server数据库的增量合成备份方法的应用环境图;
图2为另一个实施例中SQL Server数据库的增量合成备份方法的应用环境图;
图3为一个实施例中SQL Server数据库的增量合成备份方法的流程示意图;
图4为另一个实施例中SQL Server数据库的增量合成备份方法的流程示意图;
图5为一个实施例中现有合成备份方法与本发明实施例的增量合成备份方法的备份比较示意图;
图6为一个实施例中SQL Server数据库的增量合成备份装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的SQL Server数据库的增量合成备份方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。在需要对终端110中的数据库进行备份时,若当前待备份的数据库不是首次备份,则终端110计算当前待备份的数据库与首次完全备份的数据库之间的改变量;若所述改变量超出备份量阈值,则终端110对当前待备份的数据库进行完全备份,即将终端110中的待备份的数据库全部拷贝至服务器120中进行存储备份;若所述改变量未超出备份量阈值,则终端110对当前待备份的数据库进行增量备份,即将终端110中的待备份的数据库中,相较于服务器120中上一次备份的数据库而言增加的部分数据,拷贝并入至服务器120中上一次备份的数据库中,进行存储备份。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑等,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在另一个实施例中,如图2所示,服务器120可以进一步包括备份服务器121和存储服务器122,备份时,终端110提交备份记录到备份服务器121,终端110拷贝备份数据到存储服务器122;灾难恢复时,终端110向备份服务器查询备份记录的信息,终端110从存储服务器取得备份数据。
在一个实施例中,如图3所示,提供了一种SQL Server数据库的增量合成备份方法,以该方法应用于图2中的终端为例进行说明,包括以下步骤:
S310,若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
其中,终端中可以存储有一个或者多个数据库,待备份的数据库是指的在终端中需要进行备份的数据库,在需要对终端中的某个数据库进行备份时,例如可以是用户主动通过终端向服务器发送备份请求,或者可以是终端或服务器预设有周期性地程序,每隔预设的备份周期,则会自动触发服务器对终端的备份操作。
其中,在对数据库进行首次备份时,会对数据库进行完全备份,即将整个数据库拷贝存储至服务器中。最近一次完全备份的数据库即是指的最近一次完全备份时拷贝存储的整个数据库,最近一次完全备份的数据库的信息可以存储于服务器中,以供后续备份时的数据比对。
其中,改变量是用于表征当前待备份的数据库相较于最近一次完全备份的数据库相比,需要变更的数据量的大小的数值,例如,改变量可以是需要变更的数据量占用的空间大小,又例如,改变量可以是需要变更的数据量除以最近一次完全备份的数据库的数据量得到的百分比例值。
在此步骤中,在需要对终端中的数据库进行备份操作时,服务器会判别此次备份是否为首次备份,如果当前待备份的数据库不是首次进行备份操作,由于首次备份已经进行了对数据库的完全备份,则可以通过比对计算得出当前待备份的数据库,与首次完全备份的数据库之间的改变量的值。
S320,若改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
其中,所述备份量阈值可以根据实际需要设置,阈值越大,完全备份的时间间隔越大,增量备份的执行时间越长,但是备份占用的存储空间越小。以改变量是需要变更的数据量除以首次完全备份的数据库的数据量得到的百分比例值为例,可以取备份量阈值为例如50%、60%或者其他百分比值。备份量阈值可以在对数据库进行备份之前预先设置好并存储于中。
完全备份是指的对数据库的所有数据进行备份,即将整个数据库拷贝存储至服务器中。
在此步骤中,若改变量超出备份量阈值,则对当前待备份的数据库进行完全备份,将服务器中已经备份的数据库备份集整体的替换成当前待备份的数据库。
S330,若改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
其中,增量备份是指的在一次完全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。
在此步骤中,若改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份,将当前待备份的数据库中相较于服务器中最近一次备份的数据库备份集增加的部分,合成到最近一次备份的数据库备份集中。
上述SQL Server数据库的增量合成备份方法,在首次备份时进行完全备份,后续备份时,在需要备份的数据库相较于最近一次完全备份的数据库之间的改变量未超出备份量阈值时,新增的或需要修改的数据量较小,通过增量备份对数据库进行备份具有较高的效率,如果需要备份的数据库相较于首次完全备份的数据库之间的改变量超出备份量阈值,进行增量备份将需要耗费较多的资源,甚至超过完全备份的数据量,则采用完全备份对数据库进行更新,通过设置的备份量阈值比对,选用合适的方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQL Server数据库的增量合成备份效率。
在一个实施例中,如图4所示,本发明实施例的SQL Server数据库的增量合成备份方法还包括:
S340,若当前待备份的数据库是首次备份,则对数据库进行完全备份。
上述实施例的技术方案,在当前待备份的数据库是首次备份,则对数据库进行完全备份,将首次完全备份的数据库存储在服务器中,以便于后续数据库备份的信息比对。
在一个实施例中,S310则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量,包括:
对待备份的数据库中的每一个数据库文件,从待备份的数据库中取得该数据库文件的文件标识(即文件ID);对每一个文件标识,从待备份的数据库中取得差异更改映射表;遍历差异更改映射表,获取更改的数据块的数量;根据所述更改的数据块的数量,确定当前待备份的数据库与首次完全备份的数据库之间的改变量。
其中,差异更改映射表用于记录更改的数据块的索引信息;其中,更改的数据块是指的当前待备份的数据库中,与最近一次完全备份的数据库相比,增加和/或修改的数据块。
具体地,可以设置一个计算SQL Server数据库改变量的伪代码程序,对当前待备份的数据库进行比对分析,确定当前待备份的数据库与首次完全备份的数据库之间的改变量。其中一个应用示例的伪代码程序的示例如下:
上述实施例的技术方案,通过将当前待备份的数据库分割成数据块,将数据块分别与首次完全备份的数据库进行比对,统计其中发生变化的数据块的总数,作为当前待备份的数据库与首次完全备份的数据库之间的改变量,可以快速确定所需的改变量的值。
在一个实施例中,S330则对当前待备份的数据库进行增量备份,包括:
以预设的块大小对当前待备份的数据库进行分块,得到分割的数据块;
针对各个数据块,若当前数据块不存在于最近一次备份的备份集中,则将数据块合成到最近一次备份的备份集中,生成合成备份集。
具体地,如图5所示,图5为一个实施例中现有合成备份方法与本发明实施例的增量合成备份方法的备份比较示意图;现有的基于首次完全备份的合成备份方法在第三次备份时重复备份了数据块4,而本发明上述实施例的技术方案,每次备份均为增量备份,避免重复备份数据块,不传输重复数据,突破了SQL Server没有增量备份的限制,既降低了备份的空间消耗,又提高了备份速度。
进一步地,在一个实施例中,针对各个数据块,若当前数据块不存在于最近一次备份的备份集中,则将数据块合成到最近一次备份的备份集中,生成合成备份集,包括:
计算各个数据块的指纹;针对各个数据块,若当前数据块的指纹不存在于数据块指纹库中,则将该数据块的指纹存入数据块指纹库中,并将对应的数据块合成到最近一次备份的备份集中,生成合成备份集。
上述实施例的技术方案,以极小的指纹比较来代替较大的数据块比较,能够显著提升数据块比对的效率。
在对数据库进行备份之前,还可以预先设置SQL Server数据库的增量合成备份参数,根据设置的备份参数选择对应的数据库进行备份,在一个实施例中,在S310之前,SQLServer数据库的增量合成备份方法还可以包括步骤:选择待备份的终端设备,选择终端设备上的SQL数据库实例,根据SQL数据库实例选择待备份的数据库。
进一步地,在一个实施例中,SQL Server数据库的增量合成备份方法还包括:设置备份周期,依照备份周期,周期性对待备份的数据库进行备份。具体地,可以在备份之前用户在终端预先设置好备份周期,例如可以设置备份周期为一天,则每间隔1天,终端会自动运行如上步骤S310-S340对数据库进行备份。保证数据库得到实时的备份,以确保备份数据库的安全性。
应该理解的是,虽然上述实施例中的各个步骤按照编号依次排列,但是这些步骤并不是必然按照编号的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例的步骤中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种SQL Server数据库的增量合成备份装置600,包括:
改变量计算模块610,用于若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
完全备份模块620,用于若改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
增量备份模块630,用于若改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
在一个实施例中,SQL Server数据库的增量合成备份装置600,还包括:
首次备份模块640,用于若当前待备份的数据库是首次备份,则对数据库进行完全备份。
在一个实施例中,改变量计算模块610进一步用于:
用于若当前待备份的数据库不是首次备份,则对待备份的数据库中的每一个数据库文件,从待备份的数据库中取得该数据库文件的文件标识;对每一个文件标识,从待备份的数据库中取得差异更改映射表;差异更改映射表用于记录更改的数据块的索引信息;遍历差异更改映射表,获取更改的数据块的数量;根据更改的数据块的数量,确定当前待备份的数据库与首次完全备份的数据库之间的改变量。
在一个实施例中,增量备份模块630进一步用于:
若改变量未超出备份量阈值,则以预设的块大小对当前待备份的数据库进行分块,得到分割的数据块;针对各个数据块,若当前数据块不存在于最近一次备份的备份集中,则将数据块合成到最近一次备份的备份集中,生成合成备份集。
在一个实施例中,增量备份模块630在执行针对各个数据块,若当前数据块不存在于最近一次备份的备份集中,则将数据块合成到最近一次备份的备份集中,生成合成备份集的步骤时,进一步用于:计算各个数据块的指纹;针对各个数据块,若当前数据块的指纹不存在于数据块指纹库中,则将该数据块的指纹存入数据块指纹库中,并将对应的数据块合成到最近一次备份的备份集中,生成合成备份集。
在一个实施例中,SQL Server数据库的增量合成备份装置600还包括:
数据库配置模块,用于选择待备份的终端设备,选择终端设备上的SQL数据库实例,根据SQL数据库实例选择待备份的数据库。
在一个实施例中,SQL Server数据库的增量合成备份装置600还包括:
备份周期配置模块,用于设置备份周期,依照备份周期,周期性对待备份的数据库进行备份。
关于SQL Server数据库的增量合成备份装置的具体限定可以参见上文中对于SQLServer数据库的增量合成备份方法的限定,在此不再赘述。上述SQL Server数据库的增量合成备份装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明的SQL Server数据库的增量合成备份装置与本发明的SQL Server数据库的增量合成备份方法一一对应,在上述SQL Server数据库的增量合成备份方法的实施例阐述的技术特征及其有益效果均适用于SQL Server数据库的增量合成备份装置的实施例中,特此声明。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
若所述改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
若所述改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
上述计算机设备,其处理器执行程序时,通过实现如上步骤,从而可以在首次备份时进行完全备份,后续备份时,在需要备份的数据库相较于最近一次完全备份的数据库之间的改变量未超出备份量阈值时,新增的或需要修改的数据量较小,通过增量备份对数据库进行备份具有较高的效率,如果需要备份的数据库相较于首次完全备份的数据库之间的改变量超出备份量阈值,进行增量备份将需要耗费较多的资源,甚至超过完全备份的数据量,则采用完全备份对数据库进行更新,通过设置的备份量阈值比对,选用合适的方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQL Server数据库的增量合成备份效率。
本发明实施例所提供的一种计算机设备,其计算机可执行指令不限于如上所述的SQL Server数据库的增量合成备份方法操作,还可以执行本发明任意实施例所提供的SQLServer数据库的增量合成备份方法中的相关操作,且具备相应的功能和有益效果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
若所述改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
若所述改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
上述计算机可读存储介质,其存储的计算机程序,通过实现如上步骤,从而可以在首次备份时进行完全备份,后续备份时,在需要备份的数据库相较于最近一次完全备份的数据库之间的改变量未超出备份量阈值时,新增的或需要修改的数据量较小,通过增量备份对数据库进行备份具有较高的效率,如果需要备份的数据库相较于首次完全备份的数据库之间的改变量超出备份量阈值,进行增量备份将需要耗费较多的资源,甚至超过完全备份的数据量,则采用完全备份对数据库进行更新,通过设置的备份量阈值比对,选用合适的方式对数据库进行备份,避免了差异备份时间窗口超过完全备份的情况,有效增加了对SQLServer数据库的增量合成备份效率。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的SQL Server数据库的增量合成备份方法操作,还可以执行本发明任意实施例所提供的SQL Server数据库的增量合成备份方法中的相关操作,且具备相应的功能和有益效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可查询存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种SQL Server数据库的增量合成备份方法,其特征在于,包括:
若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
若所述改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
若所述改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
2.根据权利要求1所述的SQL Server数据库的增量合成备份方法,其特征在于,还包括:
若当前待备份的数据库是首次备份,则对所述数据库进行完全备份。
3.根据权利要求1所述的SQL Server数据库的增量合成备份方法,其特征在于,所述则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量,包括:
对待备份的数据库中的每一个数据库文件,从所述待备份的数据库中取得该数据库文件的文件标识;
对每一个所述文件标识,从所述待备份的数据库中取得差异更改映射表;所述差异更改映射表用于记录更改的数据块的索引信息;
遍历差异更改映射表,获取更改的数据块的数量;
根据所述更改的数据块的数量,确定当前待备份的数据库与首次完全备份的数据库之间的改变量。
4.根据权利要求1所述的SQL Server数据库的增量合成备份方法,其特征在于,所述则对当前待备份的数据库进行增量备份,包括:
以预设的块大小对当前待备份的数据库进行分块,得到分割的数据块;
针对各个所述数据块,若当前数据块不存在于最近一次备份的备份集中,则将所述数据块合成到最近一次备份的备份集中,生成合成备份集。
5.根据权利要求4所述的SQL Server数据库的增量合成备份方法,其特征在于,所述针对各个所述数据块,若当前数据块不存在于最近一次备份的备份集中,则将所述数据块合成到最近一次备份的备份集中,生成合成备份集,包括:
计算各个所述数据块的指纹;
针对各个所述数据块,若当前数据块的指纹不存在于数据块指纹库中,则将该数据块的指纹存入所述数据块指纹库中,并将对应的数据块合成到最近一次备份的备份集中,生成合成备份集。
6.根据权利要求1至5任意一项所述的SQL Server数据库的增量合成备份方法,其特征在于,还包括:
选择待备份的终端设备,选择所述终端设备上的SQL数据库实例,根据所述SQL数据库实例选择待备份的数据库。
7.根据权利要求1至5任意一项所述的SQL Server数据库的增量合成备份方法,其特征在于,还包括:
设置备份周期,依照所述备份周期,周期性对所述待备份的数据库进行备份。
8.一种SQL Server数据库的增量合成备份装置,其特征在于,包括:
改变量计算模块,用于若当前待备份的数据库不是首次备份,则计算当前待备份的数据库与最近一次完全备份的数据库之间的改变量;
完全备份模块,用于若所述改变量超出备份量阈值,则对当前待备份的数据库进行完全备份;
增量备份模块,用于若所述改变量未超出备份量阈值,则对当前待备份的数据库进行增量备份。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的SQL Server数据库的增量合成备份方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的SQL Server数据库的增量合成备份方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811161572.2A CN109271461A (zh) | 2018-09-30 | 2018-09-30 | SQL Server数据库的增量合成备份方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811161572.2A CN109271461A (zh) | 2018-09-30 | 2018-09-30 | SQL Server数据库的增量合成备份方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271461A true CN109271461A (zh) | 2019-01-25 |
Family
ID=65196004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811161572.2A Pending CN109271461A (zh) | 2018-09-30 | 2018-09-30 | SQL Server数据库的增量合成备份方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271461A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104255A (zh) * | 2019-11-29 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能定时云备份方法、装置、设备及存储介质 |
CN111158958A (zh) * | 2019-12-31 | 2020-05-15 | 广州鼎甲计算机科技有限公司 | 一种可快速恢复数据的备份方法、系统、装置及存储介质 |
CN113448768A (zh) * | 2020-03-25 | 2021-09-28 | 华为技术有限公司 | Db文件的备份方法、装置和电子设备 |
CN114020539A (zh) * | 2022-01-05 | 2022-02-08 | 国家超级计算天津中心 | 基于云环境下的块存储自适应备份系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814045A (zh) * | 2010-04-22 | 2010-08-25 | 华中科技大学 | 一种用于备份服务的数据组织方法 |
CN104969192A (zh) * | 2013-02-27 | 2015-10-07 | 惠普发展公司,有限责任合伙企业 | 基于改变的数据选择备份类型 |
US20170091046A1 (en) * | 2015-09-30 | 2017-03-30 | Commvault Systems, Inc. | Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities using indexing in a data storage management system |
CN106708663A (zh) * | 2016-12-16 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种数据库自动备份方法及装置 |
CN107066357A (zh) * | 2017-05-31 | 2017-08-18 | 广州鼎甲计算机科技有限公司 | 一种数据库合成备份和挂载恢复方法 |
CN107783863A (zh) * | 2017-10-26 | 2018-03-09 | 南京壹进制信息技术股份有限公司 | 一种海量文件快速合成备份方法 |
-
2018
- 2018-09-30 CN CN201811161572.2A patent/CN109271461A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814045A (zh) * | 2010-04-22 | 2010-08-25 | 华中科技大学 | 一种用于备份服务的数据组织方法 |
CN104969192A (zh) * | 2013-02-27 | 2015-10-07 | 惠普发展公司,有限责任合伙企业 | 基于改变的数据选择备份类型 |
US20170091046A1 (en) * | 2015-09-30 | 2017-03-30 | Commvault Systems, Inc. | Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities using indexing in a data storage management system |
CN106708663A (zh) * | 2016-12-16 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种数据库自动备份方法及装置 |
CN107066357A (zh) * | 2017-05-31 | 2017-08-18 | 广州鼎甲计算机科技有限公司 | 一种数据库合成备份和挂载恢复方法 |
CN107783863A (zh) * | 2017-10-26 | 2018-03-09 | 南京壹进制信息技术股份有限公司 | 一种海量文件快速合成备份方法 |
Non-Patent Citations (1)
Title |
---|
XINKLABI: ""谷歌技术"三宝"之谷歌文件系统(GFS)-大数据云计算时代"", 《CSDN》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104255A (zh) * | 2019-11-29 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能定时云备份方法、装置、设备及存储介质 |
CN111158958A (zh) * | 2019-12-31 | 2020-05-15 | 广州鼎甲计算机科技有限公司 | 一种可快速恢复数据的备份方法、系统、装置及存储介质 |
CN113448768A (zh) * | 2020-03-25 | 2021-09-28 | 华为技术有限公司 | Db文件的备份方法、装置和电子设备 |
CN114020539A (zh) * | 2022-01-05 | 2022-02-08 | 国家超级计算天津中心 | 基于云环境下的块存储自适应备份系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271461A (zh) | SQL Server数据库的增量合成备份方法和装置 | |
CN110647582B (zh) | 区块链网络共识校验的方法、装置、存储介质和计算机设备 | |
WO2021027956A1 (zh) | 一种基于区块链系统的交易处理方法及装置 | |
WO2021169169A1 (zh) | 资源转移数据核对方法、装置、计算机设备和存储介质 | |
US9672113B1 (en) | Data recovery from multiple data backup technologies | |
CN107861991A (zh) | 单据数据处理方法、装置、计算机设备和存储介质 | |
CN111078662A (zh) | 一种区块链数据存储方法与装置 | |
CN105955843A (zh) | 一种用于数据库恢复的方法与设备 | |
CN106899654A (zh) | 一种序列值生成方法、装置及系统 | |
CN112307049A (zh) | 数据库的读写分离方法、装置、设备及可读存储介质 | |
CN110309227B (zh) | 分布式数据回档方法、装置和计算机可读存储介质 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
WO2019033741A1 (zh) | 投资产品的资源处理方法、装置、存储介质和计算机设备 | |
CN108363727B (zh) | 一种基于zfs文件系统的数据存储方法及装置 | |
CN106325769B (zh) | 一种数据存储的方法及装置 | |
CN110287164B (zh) | 一种数据恢复方法、装置及计算机设备 | |
CN114924911B (zh) | Windows操作系统有效数据备份方法、装置、设备和存储介质 | |
US20220327560A1 (en) | Method and system for time series data prediction based on seasonal lags | |
CN115269558A (zh) | 数据存储方法、装置、设备、存储介质和程序产品 | |
CN115810383A (zh) | 基于read retry的拉偏电压选择实现方法和装置 | |
CN114462859A (zh) | 工作流处理方法、装置、计算机设备和存储介质 | |
CN110969430B (zh) | 可疑用户的识别方法、装置、计算机设备和存储介质 | |
CN109284260A (zh) | 大数据文件读取方法、装置、计算机设备及存储介质 | |
CN108614721A (zh) | 应用系统配置参数的处理方法、装置和存储介质 | |
US11768855B1 (en) | Replicating data across databases by utilizing validation functions for data completeness and sequencing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |
|
RJ01 | Rejection of invention patent application after publication |