CN1784677A - 用于数据库备份的一致性检验的***和方法 - Google Patents

用于数据库备份的一致性检验的***和方法 Download PDF

Info

Publication number
CN1784677A
CN1784677A CNA200480001712XA CN200480001712A CN1784677A CN 1784677 A CN1784677 A CN 1784677A CN A200480001712X A CNA200480001712X A CN A200480001712XA CN 200480001712 A CN200480001712 A CN 200480001712A CN 1784677 A CN1784677 A CN 1784677A
Authority
CN
China
Prior art keywords
backup
page
leaf
data base
base view
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.)
Granted
Application number
CNA200480001712XA
Other languages
English (en)
Other versions
CN100430936C (zh
Inventor
P·S·兰达尔
M·J·兹威林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1784677A publication Critical patent/CN1784677A/zh
Application granted granted Critical
Publication of CN100430936C publication Critical patent/CN100430936C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于对数据库的数据库备份执行一致性检查的方法无需从数据库备份中进行原始数据库的完全恢复就可执行。相反,数据库视图可被用作一种用于提供现有完全数据库备份的一部份的事务一致性视图的较小存储要求工具。该数据库视图结合数据库备份和事务日志包含了无需从数据库备份完全重组原始数据库就可在数据库备份上执行一致性检查所需的所有信息。一致性检查可对数据库视图以及数据库备份进行以验证完全数据库备份的完整性,来增加数据库恢复方案的经改进可靠性。

Description

用于数据库备份的一致性检验的***和方法
相关申请
本申请声明对于2004年3月31日提交的申请序列号为10/814,459的美国申请的优先权,其揭示在此全部引入作为参考。
以下引用有部分主题与本申请相同。
技术领域
本发明涉及计算机数据库领域,尤其涉及数据库备份完整性校验***。
背景技术
现代数据库是帮助用户跟踪重要商业事务的关键工具。在许多情形中,数据库的遗失对企业而言是灾难性的。数据库遗失可由多种原因促成;硬件故障、软件故障、工具故障、或影响数据库的任一其它支持结构的自然灾害。因而,数据库遗失后的恢复是正常数据库管理的一个重要方面。在数据库管理的一方面中,通常会在诸如每周的周期性间隔上作完全数据库备份以提供用于恢复的主干成分。具有一功能性的完全数据库备份是对将恢复数据库所需的部分差分的每日数据库备份应用到数据库遗失之前那一天的要求。
通常,数据库管理员会作每周的完全数据库备份并将该备份存储到某些类型的介质中。该介质常常是磁带。该每周的完全数据库备份是数据库恢复机制的主要成分。然而,问题仍然是存储在介质上的数据库备份是否遭到了破坏。被破坏的数据库备份可能不可被完全恢复。一种检查数据库备份成活力的现有技术方法是将该数据库备份重组到原始数据库的另一个工作副本中并对该数据库执行测试。由于现代数据库的大小可能是千兆字节的,该方法根据资源是昂贵的。通常企业不会有未使用的另一个千兆盘或临时可用的在其上可执行数据库备份完整性检查的随机存取存储器介质。然而,这样的完整性检查对于数据库备份策略是至关重要的。
有关数据库的这些至关重要的测试可包括有关其内部的链接数据结构的测试。诸如B树的链接数据结构是便于有效和有组织的数据存储、数据处理、以及数据检索的数据的有效逻辑。链接数据结构的基本组件被称为元素或节点。链接数据结构中的单个节点由标识或“指向”节点链接结构中相邻节点的称为指针的特定字段链接在一起。指针有时也称为引用。
因为链接数据结构的逻辑相邻节点并非必然存储在存储装置上相邻的物理位置,必须准确表示链接数据结构的每个节点。由于在存储装置上缺少从一节点到下一节点的物理相邻性的保证,如果存在无效指针就难以知道哪个节点真正是链接数据结构中的下一逻辑节点。因而,未正确指向链接数据结构内下一逻辑节点的指针可使整个链接数据结构不稳定和不可用。
图1示出数据库中显示多个链接并需要多个指针的基本B树结构。数据库节点A、B、C、D和E(分别为102、104、106、108和110)可具有通过指针支持的彼此之间的分层结构关系。例如,根节点A 102具有分别带有指针152和154的两个子节点B 104和C 106。注意B和C是姐妹并可具有正向和反向指针156和158。叶节点D 108和E 110是节点B 104的子节点,且在B和D之间可具有正向和反向指针160和162,而在B和E之间具有指针164和166。节点B和E彼此是姐妹并可具有正向和反向指针168和170。如果节点B和E以及D和E之间的指针164和168分别遗失或不正确,则从节点B或D到节点E的链接将遗失。这将导致数据库中相应数据关联的遗失。
一般而言,如果链接数据结构中的任一指针被破坏或以其它方式无效,使得指针未正确指向设计为下一节点或子节点的节点,则整个数据结构的完整性将受损害。受损害的数据结构将不可靠或不可用。尽管在仅有几个节点的较小链接数据结构中标识一无效指针是可能的,对于具有数百万节点的较大链接数据结构按照时间和/或计算资源任务就变得非常复杂和昂贵,而如果在各节点之间存在一个以上的无效指针则任务就更困难了。
因此在数据库中校验这种指针的一致性是至关重要的。此外,在数据库备份上执行一致性检查以校验数据库备份的完整性并确保全部恢复可能是至关重要的。然而,在数据库备份上进行一致性检查仍有实际问题。
图2示出包含数据文件205、206、208和日志文件210的典型数据库200。数据文件还被分成也称为页的存储块。这些存储块持有数据库中的记录,并持有与诸如B树的链接数据结构相关联的节点。数据库200的典型数据库备份250不必包含组成数据库200的所有逐个数据文件205、206、208的备份。相反,数据库备份仅需包含当前使用的来自数据文件的某些(可能不同)顺序和格式的块。例如,数据库备份250包含备份文件220,它是原始数据库200中数据文件205-208的备份。数据文件205可包含成千上万的页但仅有一些页(如图2所示使用描述性数字标记“数据文件:页”)可由数据库200使用。在图2示例中,数据库备份250中的备份文件220将仅包含来自数据文件205的两个页;即205:3和205:2。类似的情形还对数据文件206和208存在。因而,数据库备份可以不是方便或兼容的环境或不是用于一致性检查的形式。日志文件210A一般可与数据库200的数据库备份250相关联以提供当数据库备份被置于存储介质上时改变数据库200的任一事务的细节。
使用现有技术的原理,为了检查数据库备份,数据库必须从该数据库备份进行重组,事务日志必须应用于重组数据库备份以将数据库恢复到数据库备份操作完成时所存在的状态,然后必须进行一致性检查。执行这类数据库备份校验所需的盘或随机存取存储空间至少与原始数据库一样大,并且由于现有技术的一致性检查是耗时的而需要大量时间,因为在校验诸如链接指针的项并寻找包含存储器分配映射和数据库模式元数据的页中需要多次通过数据库。当使用诸如磁带的序列介质用于数据库备份时,该任务会变得更令人恐惧。
因而,需要允许校验完全数据库备份的完整性的存储空间和时间有效方法的***或方法。本发明解决了前述需要并用在此所述的附加优点来处理它们。
发明内容
本发明实现了一种***和方法,用以执行数据库与数据库备份的一致性检查同时使用比原始数据库少得多的存储空间。在数据库备份上执行一致性检查对校验数据库备份的完整性有用,从而如果原始数据库的重组有必要可由***管理员作全面恢复。该方法包括对仅包含数据库模式元数据的数据库视图创建和数据库视图的随后创建所需的页的标识。一旦创建了数据库视图,通过加入该数据库备份的事务日志并执行重做操作以及选定的取消操作,可将数据库视图带到一事务一致点。涉及重做或取消的页也可置入数据库视图中。一旦建立事务一致数据库视图,可通过从具有已校正数据的数据库备份或数据视图中读取页的正确版本来在包含于数据库备份中的数据库上执行一次或多次一致性检查。通过确认数据库备份的完整性并因而确保可从数据库的完全备份中执行恢复,本发明增加对恢复策略可靠性的测量。
在使用图3讨论示例性数据库视图之后,将结合图4-5讨论示例性方法和实施例。还结合图6讨论示例性计算环境。
附图说明
结合附图阅读前面的发明内容和以下说明性实施例的详细描述,能得到更好的理解。为了说明本发明各实施例,在附图中示出本发明的示例性结构;然而,本发明并不限于所揭示的特定方法和装置。在附图中:
图1是必须确认正确性的典型数据库结构的框图;
图2是典型数据库备份的框图;
图3是示出本发明的数据库视图方面的框图;
图4是示出数据库视图的示例性页的框图;
图5是本发明一方法的示例性流程图;
图6是其中可实现本发明各方面的示例性计算环境的框图。
具体实施方式
纵览
本发明一实施例实现了一种方法,用以执行包含在数据库备份中的数据库一致性检查的同时使用比原始数据库少的存储空间。在本发明环境中,术语存储空间可以是参照图6的示例性计算环境讨论的任一存储形式,包括但不限于,顺序存储、盘存储、以及随机存取存储及其等效实体。
根据本发明一实施例,原始数据库备份的一致性检查可通过使用从数据库备份及其相应事务日志文件导出的数据库视图来完成。在当前实施例中,数据库视图在通过应用包含在数据库备份中的事务日志作出原始数据库备份的时间点上产生原始数据库的事务一致性视图。一旦可得到事务一致性视图,本发明对该数据库备份作一致性检查。在执行一致性检查时,可先读取来自数据库备份的页,然后可执行对同一页的事务一致性副本是否在数据库视图中存在的检查。如果该页在数据库视图中存在,则使用该页。否则,可使用来自数据库备份的页以执行一致性检查。数据库一致性检查的结果使***管理员能校验数据库的可工作的完全副本可从该数据库备份中恢复。
本发明在校验中发现,组成数据库的备份是自一致的并且如果原始数据库发生故障则可用以恢复原始数据库是实用的。当数据库备份被存储于诸如磁带或其它串行类读取机制的顺序介质上时,本发明能被最有利地使用。数据库一致性检查仅需顺序存储介质的两轮通过。一轮通过被用以定位需要恢复的已标识页(以使它们进入事务上一致状态)或提供元数据以驱动一致性检查,而第二轮通过则用以执行一致性检查。本发明也可有利地用于基于盘或任何其它类型的存储备份***,因为页在数据库备份中可被存储在与原始数据库相比完全不同的位置。本发明还有利地允许***管理员以比数据库原始大小较小的存储空间在数据库备份上执行一致性检查。该特性提供了一种无需创建原始数据库的另一个完全大小副本而进行完整性校验的经济方法。
本发明的示例性实施例
各种链接数据结构类型(包括,但不限于,链表、主要和次要索引树等)的存储结构完整性校验中的一个进步在East等人在2001年2月6日提交的专利号为6,185,569的题为“Linked Data Structure Integrity Verification System Which VerifiesActual Node Information with Expected Node Information Stored in a Table”(“用存储在表格中的期望节点信息校验真实节点信息的链接数据结构的完整性校验***”)的美国专利中揭示。该共同受让专利揭示了在数据库上执行一致性检查的时间有效方法,因而在此全部引入作为参考。
不创建完整的数据库副本而以事务一致性方法查看数据库的一个进步在序列号为10/611,774于2003年6月30日提交的题为“Transaction Consistent Copy-on-Write Databases”(“事务一致的写时复制数据库”)的共同待批专利中揭示。该共同受让专利揭示了提供数据库视图的存储空间有效方法,并在此全部引入作为参考。数据库视图无需创建数据库的完整副本就可提供先前数据库的事务一致视图。
在本发明一方面中,数据库视图被用作产生检查数据库一致性所需的元数据视图的一种工具。该数据库视图还被用以存储各个页,它们需要应用来自事务日志使页在事务上一致的重写和取消操作。这样的数据库视图以及数据库备份,包含了在完成完全数据库备份操作时产生原始数据库副本所需的所有信息。然而,数据库视图本身并不包含所有信息,因而在大小上比原始数据库的完全副本要小。
在本发明环境中,数据库视图包括对应于在数据库备份中呈现的数据库中的每个数据文件的至少一个稀疏文件。在一稀疏文件中,仅有真正需要的文件备份才被写入存储空间。文件的所有其它部分都未获分配。稀疏文件可包含数据库备份所需的任何页的一个副本。使用稀疏文件提供一可能实施例,且它避免了对将页在原始数据文件中的偏置映射到其在稀疏文件中位置的表格的需要。另一可能实施例是使用常规文件(称之为副文件Side File),其中视图所需的页被一个接一个地置于副文件中,且映射表格被用以将带有给定ID的页映射到副文件中一位置。
可全部得到数据库的元数据、模式或目录数据用于一致性检查操作是较佳的。当存储在数据库备份中时,元数据通常是处于数据库***不可用的形式,因为包含它的页分散于数据库备份的一些文件中并且没有可定位它们的有效方法。此外,在数据库备份中有需要在其上进行重做或取消操作的某些页,因为它们受在数据库备份操作时活动的事务影响。不能进行一致性检查,直到这些页变成一致状态。在一实施例中,数据库视图最好用作可方便地查找元数据、模式或目录页的环境,并是查找需要从事务日志执行的重做或取消操作的页的环境。
本发明参照作为数据库备份中数据单元的页进行描述;然而,预期可使用原始数据库的其它数据单元。
在一致性检查期间,必须检查数据库备份中的每个页。必须检查以判断在先前创建的数据库视图中是否存在同一页的事务性一致版本。如果存在,必须使用来自数据库视图的页版本来执行一致性检查。为了确定要使用特定页的哪个版本,必须确定数据库视图中页有效版本的存在。在一实施例中,直接读取数据库视图以确定页的这种有效版本是否存在。
在另一实施例中,创建副文件映射表格,该表格存储有关给定页版本是否在数据库视图中存在并有效的版本。数据库视图的边缘页表格允许对给定页是否存在于数据库视图作出快速判断。
如图3所示,包含在数据库备份250内的数据库之数据库视图320由稀疏文件305、306和308组成。数据库备份中的每个数据文件(205、206和208)在数据库视图320中具有相应的稀疏文件(分别为305、306和308)。日志副本210A也被包括在数据库视图中以使执行重做和取消操作较简便。在另一实施例中,数据库视图中的每个副文件都存在一独立的边缘页表格。
如前所述,事务日志210是从数据库备份操作开始直至完成对原始数据库200执行的所有事务的串行记录。该事务日志被用以将数据库视图恢复到原始数据库200的数据库备份操作完成之时的时间点。该事务日志可包含两种已完成事务,即已开始并已提交、以及已开始但未提交的不完整事务。不完整事务也被称为未提交事务。
未提交事务可导致事务不一致性,因为数据文件的部分更改并未从缓存区中写入数据文件,且在数据文件中可有来自不完整事务的一些更改。日志文件被用以确保数据库的恢复是事务一致的。这通过使用ARIES(用于恢复和隔离开发语义的算法)-型恢复来完成。记录在事务日志中的还未写入数据文件的每个更改通过在数据库上执行该更改而前滚。为确保数据库的完整性,在事务日志中发现的每个不完整事务通过取消数据库上的更改而回滚。
图4示出了产生从完全数据库备份和事务日志文件导出的事务一致性数据库视图的一个示例。数据库备份400表示数据库的完全备份,包括示例性数据库的所有页401-419。在数据库备份操作期间,事务日志434串行地产生,它记录了在数据库备份操作进行时发生的所有事务。示例事务日志434记录了在数据库备份产生期间在数据库页P 402、Q 404、R 406和S 408上发生的事务。该事务日志记录了页P上的事务在日志记录420处开始而在日志记录430处被提交(或完成)。类似地,页R上的事务在日志记录422处开始而在日志记录424处被提交,而页S上的事务在日志记录428处开始而在日志记录432处被提交。然而,对页Q上的事务仅记录了开始日志记录426。到数据库备份操作完成时并未对页Q上事务记录提交日志记录。因此,对于页Q上事务存在事务不一致。因而应返回页Q上事务以消除该数据库的数据库视图中的变化。
包含在数据库备份中的事务一致性视图480含有表示事务一致性的那些页以及在数据库备份操作完成时该数据库的已校页。因而,在这些页的副本上执行对页P、Q、R和S的重做和取消操作的更改,这导致数据库视图480中的页P’402’、Q’404’、R’406’和S’408’,同时映射到数据库备份400中包含的数据库。注意,然而,并非所有页都活动地呈现在数据库视图中,例如T 409和U 410,因而包含在数据库备份400中数据库的数据库视图需要比数据库备份400或原始元数据少得多的存储空间。
一般而言,日志记录所影响的任何一页(其中数据库备份操作开始后产生日志记录)都会显现于包含在数据库备份中数据库的数据库视图中,因为该日志记录有可能需要重做以使数据库视图一致。此外,受事务的日志记录影响的在数据库备份操作完成时事务仍然活动(诸如需要在数据库视图中回滚的事务)的任一页也可显现在数据库视图中,因为该日志记录将需要被取消而取消该事务可能需要更改数据库视图中的页版本。
从数据库备份400复制到数据库视图480的其它页包括描述原始数据库内容的分配和元数据/目录页。分配和元数据/目录页在一致性检查中可反复使用以跟随,且可能需要“缓存”于数据库视图中以避免从数据库备份中反复查找页方面所固有的性能问题,特别是当数据库备份存储在诸如磁盘的顺序介质上时。一般而言,当在数据库备份中遇到分配和元数据/目录页时可加以标识。通常这种标识是基于特定的页ID或页标题中的页类型标记或表格ID。
从数据库备份400复制到数据库视图480的另一类页是当创建数据库备份时在数据库中被改变的页。在执行数据库备份操作时已改变页可通过覆盖数据库备份操作时间并通常包括在数据库备份或单独日志备份中的事务日志来标识。可基于在数据库备份操作期间确定的并在数据库备份中记录的开始/结束日志序列号LSN,来扫描数据库备份操作期间的事务日志。已改变页ID可存储在临时的存储器内的散列表或类似结构中。
从数据库备份400复制到数据库视图480的另一类页是执行诸如从B-树索引中***或删除行的逻辑取消操作所必须的那些页。对于B-树上的逻辑操作,附加页是B-树的内部页。这些页可从备份400中获取并由它们所覆盖的键的范围来确定。例如,将键K***B树的日志记录将需要从该索引的根到包含键K的叶页的所有页。内部页可被标识为包括覆盖K键的范围的页。这些页从数据库备份400复制到数据库视图480。
将数据库视图创新应用到数据库备份提供了一种对包含在备份400并呈现于数据库视图480中的数据库进行一致检查以确保数据库备份完整性的方法。图5是示出无需将包含在数据库备份中的数据库恢复成原始数据库的完全大小存储空间就可检查数据库备份完整性的步骤的流程图。
开始,产生从数据库备份中检索的所有页的列表(步骤510)。当在数据库备份中遇到分配页和元数据/目录页时最好加以标识。通常这种标识是基于特定的页ID或页标题中的页类型标记或表格ID。包括在步骤510列表中的页可包括当创建数据库备份时在数据库中被改变的页。这些已改变页可通过覆盖数据库备份操作时间并通常包括在数据库备份或单独日志备份中的事务日志来标识。可基于在数据库备份操作期间确定的并在数据库备份中记录的开始/结束日志序列号LSN,来扫描数据库备份操作期间的事务日志。已改变页可存储在临时的存储器内的散列表或类似结构中。步骤510列表还可包括带有由事务日志标识的未提交结果的页。包括在步骤510列表中的另一类页是逻辑取消操作所需的页,一般包括分配和元数据页以及查找数据页所需的B-树的内部节点。在一实施例中,限制可能大量的内部节点页的一种方法将是基于需要执行逻辑取消操作的记录的键来过滤它们,如前所述。
然后如在此所述产生数据库视图(步骤515)。然后扫描数据库备份(步骤520)以定位在步骤510标识的页。当扫描备份时,被标识的页和事务日志文件被复制到数据库视图中(步骤525)。事务日志将被用于恢复由在数据库备份操作进行时活动的事务所已改变页,并将它们恢复到一致点。该点通常是在数据库备份操作结束时的时间。然后,恢复到事务一致状态涉及将对数据库视图执行重做操作作为步骤530的一部分。还分析事务日志文件以发现不完整或未提交的事务。未提交事务可通过执行作为步骤530一部分的取消操作来回滚。重做和取消日志记录的效果反映在存储于数据库视图的页副本上。
至此过程已经用比原始数据库少得多的存储空间产生了包含在数据库部分中数据库的事务一致性数据库视图。然后,可对数据库视图和数据库备份的组合进行一次或多次一致性检查(步骤535),因而无需包含在数据库部分中所有页的全部恢复就可检查数据库部分的完整性。在一实施例中,执行一致性检查涉及从数据库部分或数据库视图中以其存储在部分介质中的顺序读取所有数据库页,就像它们被存储在已恢复数据库或常规数据库视图中一样。在此过程中,对于数据库中的每个页,如果它是需要一致性检查的页(即包含表格/索引数据),该页从数据库部分中读取且检查以查看在数据库视图中是否有该页的已改变副本。如果有,则使用该已改变副本用于一致性检查。否则,则使用从数据库部分中读取的页。该过程是较佳的,因为页不会以允许快速阅读特定页的顺序存储在数据库部分中。
页不包含在数据库备份中但在事务记录中引用是可能的。该交易日志的引用通常可用将该页分配或格式化为数据库中新页的日志记录而作出。因而,步骤535的算法包括从数据库视图中读取未包含在数据库备份中的每个页。这可通过两种不同方式轻易做到。一实施例可用一存储器内的表格跟踪从数据库视图中读取的所有页,如上所述。然后添加未读取的任意页。在另一实施例中如果存储器内表格变得太大则提供可选方案;数据库视图中的每个页可用页标题内的标记比特来标记,表示它已受过检查。最后,数据库视图可在完成一致性检查后可任选地被删除(步骤540)。
如果通过了一致性检查,可向数据库管理员确保数据库的数据库备份质量足够高从而如果需要从数据库备份重组数据库则允许从数据库备份的完全数据库恢复。因为数据库备份的完整性是可依赖的已知量,这是有价值的。如果一致性检查失败,则数据库管理员具有若干选项。一个选项是重新执行数据库备份以克服一致性检查失败。这样的失败可以是有故障存储介质或其它问题的结果。
另一选项是通过更改数据库备份使得在数据库视图中看到的经恢复数据库可通过对数据库视图的一致性检查来修复在数据库备份中遇到的特定一致性检查错误。该选项最好应用于对未涉及重做和取消操作的页所做的校正。然后该经修改的数据库备份可具有随后完全数据库恢复所需的完全完整性,如果需要从数据库备份重组数据库的话。
示例性计算装置
图6和以下讨论旨在提供一种本发明在其中实现的适当计算环境的简要一般说明。然而,可以理解,手持式、便携式、以及所有种类的其它计算装置可预期在本发明中使用。尽管以下所述是通用计算机,但这仅仅是一个示例,且本发明各实施例可用其它计算装置实现,诸如具有网络服务器互操作性和交互性的客户机。因而,本发明各实施例可在其中包含很少或最少客户机资源的网络化主宿的服务的环境中实现,例如其中客户机装置仅作为对网络/总线接口的网络化环境,诸如置于装置中的对象或其它计算装置和对象。实质上,可存储数据或从中可检索数据的任何地方都是用于操作的所需或适当环境。
尽管不是必需的,本发明各实施例可通过由服务的开发者用于装置或对象的操作***来实现,和/或包括在应用程序软件中。软件在由一台或多台诸如客户机工作站、服务器或其它装置的计算机执行的诸如程序模块的计算机可执行指令的一般上下文中进行说明。一般而言,程序模块包括执行具体任务或实现具体抽象数据结构的例程、程序、对象、组件、数据结构等等。通常,在各实施例中可按需组合或分配程序模块的功能。另外,本领域技术人员会理解,本发明在其它计算机***配置中也是可以实践的。其它适用于本发明的众所周知的计算***、环境、和/或配置包括,但不限于,个人计算机(PC)、自动取款机、服务器计算机、手持式或膝上型装置、多处理器***、基于微处理器的***、可编程电器消费品、网络PC、、电器、灯、环境控制元件、小型计算机、大型机等等。本发明还可在分布式计算环境中实践,其中任务由经通信网络/总线或其它数据传输介质连接的远程处理装置执行。在分布式计算环境中,程序模块可被置于包括存储器存储装置的本地和远程存储器存储介质中,且客户机节点可转而用作服务器节点。
因而尽管如上清楚地所述,图6示出了其中可实现本发明各实施例的适当计算***环境600的一个示例,该计算***环境600仅是适当计算环境的一个示例,并非旨在提出本发明使用或功能性范围的任何限制。计算环境600也不应被解释为对示例性操作环境600中所示的任一组件或其组合有任何依赖性或任何需求。
参照图6,实现本发明的示例性***包括计算机610形式的通用计算装置。计算机610的组件可包括,但不限于,处理单元620、***存储器630以及把包括***存储器在内的各种***组件耦合到处理单元620的***总线621。***总线621可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、***总线、以及使用多种总线架构的任一种的本地总线。作为示例,而非限制,这些架构包括工业标准架构(ISA)总线、微信道架构(MSA)总线、扩展ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和也称为Mezzanine总线的***部件互连(PCI)总线。
计算机610通常包括各种计算机可读介质。计算机可读介质可以是能被计算机610访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能光盘(DVD)或其它光学存储技术、磁盒、磁带、磁盘存储或其它磁性存储装置、或任何其它可用于存储所需信息并可由计算机610访问的介质。通信介质通常包括诸如载波或其它传输机制的调制数据信号中的计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语“调制数据信号”意指以在信号中以信息编码的方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
***存储器630包括诸如只读存储器(ROM)631和随机存取存储器(RAM)632的易失性和/或非易失性存储器形式的计算机可读介质。包含帮助计算机610如在起动时在元件间传送信息的基本例程的基本输入/输出***(BIOS)633通常存储在ROM 631中。RAM 632通常包含可被处理单元620立即访问和/或现时操作的数据和/或程序模块。作为示例,而非限制,图6示出了操作***634、应用程序635、其它程序模块636、和程序数据637。
计算机610还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图6图示了读取和写入不可移动、非易失性介质的硬盘驱动器641,读取和写入可移动、非易失性磁盘652的磁盘驱动器651,读取和写入可移动、非易失性光盘656,诸如CD ROM、CDRW、DVD或其它光学介质的光盘驱动器655。其它也可用在示例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如盒式磁带、闪存卡、数字多功能光盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器641通常通过诸如接口640的不可移动存储器接口与***总线621连接,而磁盘驱动器651和光盘驱动器655通常通过诸如接口650的可移动存储器接口与***总线621连接。
如上所述并如图6所示的盘驱动器及其相关联的计算机存储介质为计算机610提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图6中,例如,硬盘驱动器641被示为存储操作***644、应用程序645、其它程序模块646、和程序数据647。注意这些组件可以与操作***634、应用程序635、其它程序模块636、和程序数据637相同或不同。在此给予操作***644、应用程序645、其它程序模块646、和程序数据647的不同序号至少说明他们是不同的副本。用户可通过输入装置如键盘662和诸如鼠标、跟踪球或触摸板等定位装置661向计算机610输入命令和信息。其它输入装置(未示出)可包括话筒、游戏杆、游戏垫、***、扫描仪等等。这些和其它输入装置常常通过与***总线621耦合的用户输入接口660与处理单元620相连,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口连接。监视器691或其它类型的显示装置也可通过诸如视频接口690的接口与***总线621相连。监视器691或其它类型的显示装置也可通过诸如视频接口690的接口连接到***总线621,而该接口可与视频存储器(未示出)通信。除了监视器,计算机还可包括诸如扬声器697和打印机696的其它输出装置,它们通过输出***接口695相连。
计算机610可以在使用与一台或多台远程计算机,诸如远程计算机680的逻辑连接的网络化环境中运行。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机610相关的许多或全部组件,尽管在图6中仅图示了存储器存储装置681。图6中所描绘的逻辑连接包括局域网(LAN)671和广域网(WAN)673,但也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络、企业内部互联网和因特网上是常见的。
当用于LAN网络化环境中时,计算机610通过网络接口或适配器670与局域网671连接。当用于WAN网络化环境中时,计算机610通常包括调制解调器672或其它用于在广域网673,诸如因特网中建立通信的装置。可以是内置式或外置式的调制解调器672与***总线621通过用户输入接口660或其它适当机制连接。在网络化环境中,与计算机610相关的程序模块或其一部分可存储在远程存储器存储装置中。作为示例,而非限制,图6示出了驻留于存储装置681中的远程应用程序685。应当理解,所示网络连接是示例性的,且也可以使用其它用于在计算机间建立通信连接的技术。
各种分布式计算框架已经和正在按照个人计算和因特网的融合进行开发。个人和商业用户等被提供以应用程序和计算装置的可无缝互操作的和Web启用的接口,使计算动作更加面向Web浏览器或网络。
例如,可从微软公司得到的微软.NETTM平台,包括服务器、诸如基于Web数据存储的基块服务、以及可下载装置软件。尽管示例性实施例在此结合驻留于计算装置的软件进行描述,但本发明一实施例的一个或多个部分还可通过以下来实现:操作***、应用编程接口(API)或协处理器、形式装置及请求对象的任一个之间的“中介”对象,诸如可通过NETTM的所有语言和服务以及在其它分布式计算框架中执行、支持或访问的操作。
如上所述,尽管本发明的示例性实施例已结合各种计算装置和网络结构进行了描述,其中实现有益于在数据库备份上执行一致性检查的***所需的基本概念可应用于任何计算装置或***。因而,结合本发明各实施例描述的方法和***可应用于各种应用程序和装置。尽管示例性编程语言、名字和示例在此被选为各种选择的代表,这些语言、名字和示例并非旨在作限制。本发明技术人员将理解,有许多提供获取与本发明各实施例所取得的相同、类似或等效***和方法的对象代码的方法。
在此所述的各种技术可结合硬件或软件,或在适当时结合两者的组合来实现。因而,本发明的方法和装置,或者其中的某些方面和部分,可取诸如软盘、CD-ROM、硬盘驱动器、或任何其它机器可读存储介质的有形介质中包含程序代码(即指令)形式,其中当程序代码由诸如计算机的机器载入并执行时,该机器成为用于实践本发明的装置。在可编程计算机上的程序代码执行情形中,计算装置通常包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元素)、至少一个输入设备、和至少一个输出设备。
尽管本发明已结合各种情形的优选实施例进行了描述,要理解可使用其它类似实施例,或者可对所述实施例作更改和添加用于执行本发明的***功能,而没有偏离本发明。此外,应强调包括手持式装置操作***和其它应用程序专用操作***的各种计算机平台是可预期的,特别是当无限网络装置的数量持续激增时。因此,不应把本发明限制在任一单个实施例中,而应当根据所附权利要求在广度和范围中进行解释。

Claims (35)

1.一种用于在数据库备份上执行一致性检查的方法,其特征在于,所述方法包括:
产生要从数据库备份中检索的页列表;
通过读取所述数据库备份来检索所述列表中的所述页;
从所述数据库备份创建一数据库视图,其中所述数据库视图比包含在所述数据库备份中的所述数据库需要较少的存储空间;
将事务日志和所述被检索页复制到所述数据库视图中;
将所述数据库视图恢复到事务一致状态;以及
通过从所述数据库备份和所述数据库视图中读取所有数据库页来在所述数据库备份上执行一致性检查。
2.如权利要求1所述的方法,其特征在于,产生要从数据库备份中检索的页的列表包括产生一页列表,包含分配和元数据页、当所述数据库备份创建时在所述数据库中被改变的页、包含在数据库备份完成时未提交结果的页、以及执行逻辑取消操作所需页的至少之一。
3.如权利要求2所述的方法,其特征在于,产生包含执行逻辑取消操作所需页的页列表包括使用包含于更新的日志记录中的一个键,以确定需要B-树的哪些内部节点页来执行特定日志记录的逻辑取消操作。
4.如权利要求1所述的方法,其特征在于,产生所述页的列表包括扫描所述数据库备份中的所述事务日志,以找到在创建所述数据库备份期间已改变的页。
5.如权利要求1所述的方法,其特征在于,在所述列表中检索所述页包括一次性地读取完全数据库备份并将所述列表中的所述页复制到所述数据库视图中。
6.如权利要求1所述的方法,其特征在于,从所述数据库备份创建数据库视图还包括创建反映在特定时间点上数据库备份的所述内容的数据库视图。
7.如权利要求1所述的方法,其特征在于,复制事务日志包括复制包含在备份所述数据库时所发生事务的一事务日志。
8.如权利要求1所述的方法,其特征在于,将所述数据库视图恢复到事务一致状态还包括在不反映所述数据库备份操作期间发生的所有所述已改变页上执行重做操作。
9.如权利要求8所述的方法,其特征在于,所述重做操作是基于一相关联的事务日志,从而所有已提交事务反映在所述数据库视图中。
10.如权利要求8所述的方法,其特征在于,还包括基于所述相关联的事务日志在页上执行取消操作,从而从所述数据库视图中移除所有未提交事务的影响。
11.如权利要求1所述的方法,其特征在于,还包括仅读取所述数据库备份两次;一次用于在所述列表中定位所述页而另一次执行所述一致性检查。
12.如权利要求1所述的方法,其特征在于,还包括延迟所述一致性检查直到已使所述数据库视图在事务性上一致。
13.如权利要求1所述的方法,其特征在于,还包括使用所述数据库备份和所述事务性一致数据库视图来执行所述一致性检查。
14.如权利要求13所述的方法,其特征在于,执行一致性检查包括:
从所述数据库视图读取所有页一次;以及
如果在所述数据库视图中存在所述页的已校正版本,则在一致性检查中使用来自所述数据库视图的页。
15.如权利要求14所述的方法,其特征在于,还包括如果在所述数据库视图中不存在所述页的已校正版本,则在一致性检查中使用来自所述数据库备份的页。
16.如权利要求13所述的方法,其特征在于,还包括确保未在数据库备份中发现但相反仅在所述视图中发现的所有页被包括在所述一致性检查中。
17.一种***,其特征在于,包括:
一输入装置,应用于接收数据库备份信息和日志事务数据的至少之一;
可访问存储器的一处理器,所述存储器具有软件组件的指令;以及
一软件组件,它在执行时执行一方法,包括:
产生要从数据库备份中检索的页的列表;
通过访问所述数据库备份来检索所述页;
从所述数据库备份创建数据库视图,其中所述数据库视图比包含在所述
数据库备份中的所述数据库需要较少的存储空间;
将事务日志和所述被检索的页复制到所述数据库视图中;
将所述数据库视图恢复到事务一致状态;以及
使用所述数据库备份和所述事务一致数据库视图来对所述数据库备份执
行一致性检查。
18.如权利要求17所述的***,其特征在于,所述执行一致性检查的软件组件步骤包括:
从所述数据库视图读取所有页一次;以及
如果在所述数据库视图中存在所述页的已校正版本,则在一致性检查中使用来自所述数据库视图的页。
19.如权利要求18所述的***,其特征在于,还包括如果在所述数据库视图中不存在所述页的已校正版本,则在一致性检查中使用来自所述数据库备份的页。
20.如权利要求17所述的***,其特征在于,所述执行一致性检查的软件组件步骤还包括确保未在数据库备份中发现但相反仅在所述视图中发现的所有页被包括在所述一致性检查中。
21.如权利要求17所述的***,其特征在于,还包括用于监视所述一致性检查的状态的显示装置。
22.如权利要求17所述的***,其特征在于,所述数据库备份包括顺序存储、盘存储和随机存取存储之一。
23.如权利要求17所述的***,其特征在于,所述软件组件方法还包括读取所述数据库备份仅两次;一次用于定位所述页的列表而另一次执行所述一致性检查。
24.如权利要求17所述的***,其特征在于,产生所述页的列表的软件组件步骤包括扫描所述数据库备份中的所述事务日志,以找到在创建所述数据库备份期间已改变的页。
25.如权利要求17所述的***,其特征在于,产生包含执行逻辑取消操作所需页的页列表的软件组件步骤包括使用包含用于更新的日志记录中的一个键,以确定需要B-树的哪些内部节点页来执行特定日志记录的逻辑取消操作。
26.如权利要求17所述的***,其特征在于,从所述数据库备份创建数据库视图的所述软件组件步骤包括创建反映在特定时间点上数据库备份的所述内容的数据库视图。
27.如权利要求17所述的***,其特征在于,将所述数据库视图恢复到事务一致状态的所述软件组件步骤还包括基于所述相关联的事务日志对页执行重做和取消操作,从而所有已提交操作被反映在所述数据库视图中,并且从所述数据库视图中移除所有未提交事务。
28.一种具有计算机可执行指令的计算机可读介质,所述指令用于执行对数据库备份运行一致性检查的方法,其特征在于,所述方法包括:
产生要从数据库备份中检索的页的列表;
通过读取所述数据库备份来检索所述页;
从所述数据库备份创建数据库视图,其中所述数据库视图比包含在所述数据库备份中的所述数据库需要较少的存储空间;
将事务日志和所述被检索页复制到所述数据库视图中;
将所述数据库视图恢复到事务一致状态;以及
通过从所述数据库备份和所述数据库视图之一中读取所有数据库页来对所述数据库备份执行一致性检查。
29.如权利要求28所述的计算机可读介质,其特征在于,所述产生要从数据库备份中检索的页的列表的步骤还包括产生一页列表,包含分配和元数据页、当所述数据库备份创建时在所述数据库中已改变的页、包含在数据库备份完成时未提交结果的页、以及执行逻辑取消操作所需页的至少之一。
30.如权利要求28所述的计算机可读介质,其特征在于,产生所述页的列表包括扫描所述数据库备份中的所述事务日志,以找到在创建所述数据库备份期间已改变的页。
31.如权利要求28所述的计算机可读介质,其特征在于,在所述列表中检索所述页的所述步骤包括读取完全数据库备份。
32.如权利要求28所述的计算机可读介质,其特征在于,从所述数据库备份创建数据库视图还包括创建反映在特定时间点上数据库备份的所述内容的数据库视图。
33.如权利要求28所述的计算机可读介质,其特征在于,复制事务日志的所述步骤包括在完成所述数据库备份时复制包含事务的一事务日志。
34.如权利要求28所述的计算机可读介质,其特征在于,将所述数据库视图恢复到事务一致状态的所述软件组件步骤还包括基于所述相关联的事务日志对事务执行重做和取消操作,从而从所述数据库视图中移除所有未提交事务。
35.如权利要求28所述的计算机可读介质,其特征在于,还包括读取所述数据库备份仅两次的所述步骤;一次用于定位所述页的列表而另一次执行所述一致性检查。
CNB200480001712XA 2004-03-31 2004-07-29 用于数据库备份的一致性检验的***和方法 Expired - Fee Related CN100430936C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/814,459 2004-03-31
US10/814,459 US7277905B2 (en) 2004-03-31 2004-03-31 System and method for a consistency check of a database backup

Publications (2)

Publication Number Publication Date
CN1784677A true CN1784677A (zh) 2006-06-07
CN100430936C CN100430936C (zh) 2008-11-05

Family

ID=35055641

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200480001712XA Expired - Fee Related CN100430936C (zh) 2004-03-31 2004-07-29 用于数据库备份的一致性检验的***和方法

Country Status (8)

Country Link
US (1) US7277905B2 (zh)
EP (1) EP1618504B1 (zh)
JP (1) JP4598055B2 (zh)
KR (1) KR101014089B1 (zh)
CN (1) CN100430936C (zh)
AT (1) ATE434789T1 (zh)
DE (1) DE602004021686D1 (zh)
WO (1) WO2005103955A1 (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008119292A1 (fr) * 2007-04-02 2008-10-09 Huawei Technologies Co., Ltd. Procédé, dispositif et système de secours informatique de données stockées
CN102567140A (zh) * 2010-12-03 2012-07-11 微软公司 使用变化日志的文件***备份
CN102662793A (zh) * 2012-03-07 2012-09-12 江苏引跑网络科技有限公司 一种可保证数据一致性的分布式数据库热备份与恢复方法
CN102708143A (zh) * 2011-03-18 2012-10-03 微软公司 在页级跟踪重做完成
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及***
CN104252481A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 主从数据库一致性的动态校验方法和装置
CN104778228A (zh) * 2015-03-27 2015-07-15 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
CN104865906A (zh) * 2014-06-27 2015-08-26 广东美的环境电器制造有限公司 环境调节装置的控制***和方法、服务器和移动终端
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
CN105574187A (zh) * 2015-12-23 2016-05-11 武汉达梦数据库有限公司 一种异构数据库复制事务一致性保障方法及***
CN105868205A (zh) * 2015-01-21 2016-08-17 阿里巴巴集团控股有限公司 数据读取方法及装置
US9870379B2 (en) 2010-12-21 2018-01-16 Microsoft Technology Licensing, Llc Searching files
CN107656834A (zh) * 2016-07-26 2018-02-02 慧与发展有限责任合伙企业 基于事务日志恢复主机访问
CN108280097A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 一种数据库***的故障处理方法和装置
CN108509460A (zh) * 2017-02-28 2018-09-07 微软技术许可有限责任公司 分布式***中的数据一致性检查
CN110045912A (zh) * 2018-01-16 2019-07-23 华为技术有限公司 数据处理方法和装置
CN110121694A (zh) * 2017-12-05 2019-08-13 华为技术有限公司 一种日志管理方法、服务器和数据库***
CN111143112A (zh) * 2018-11-02 2020-05-12 伊姆西Ip控股有限责任公司 用于恢复元数据的方法、设备和计算机程序产品
CN111625396A (zh) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 备份数据的校验方法、服务器及存储介质
CN111753518A (zh) * 2020-08-12 2020-10-09 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN111913916A (zh) * 2020-07-07 2020-11-10 泰康保险集团股份有限公司 一种文件重组的方法及设备
CN112307118A (zh) * 2020-09-30 2021-02-02 武汉达梦数据库有限公司 基于日志解析同步的保障数据一致性的方法和同步***
CN112463780A (zh) * 2020-12-02 2021-03-09 中国工商银行股份有限公司 数据质量检查方法及装置
CN113032408A (zh) * 2019-12-24 2021-06-25 阿里巴巴集团控股有限公司 数据处理方法、***及设备
CN118093273A (zh) * 2024-04-23 2024-05-28 成都云祺科技有限公司 重做记录中事务处理方法、***及cdp重放与恢复方法

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103806B1 (en) 1999-06-04 2006-09-05 Microsoft Corporation System for performing context-sensitive decisions about ideal communication modalities considering information about channel reliability
US7330895B1 (en) * 2001-03-15 2008-02-12 Microsoft Corporation Representation, decision models, and user interface for encoding managing preferences, and performing automated decision making about the timing and modalities of interpersonal communications
US7644144B1 (en) 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
US7870240B1 (en) 2002-06-28 2011-01-11 Microsoft Corporation Metadata schema for interpersonal communications management systems
US8095511B2 (en) * 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
US7822721B2 (en) * 2004-04-15 2010-10-26 Sap Ag Correction server for large database systems
DE102004023634B4 (de) * 2004-05-10 2007-09-27 Siemens Ag Verfahren zur Vollständigkeits- und Konsistenzprüfung einer Informationsbibliothek
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7822727B1 (en) * 2004-07-02 2010-10-26 Borland Software Corporation System and methodology for performing read-only transactions in a shared cache
JP4082614B2 (ja) * 2004-11-12 2008-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース管理システム、データベース管理方法、及びプログラム
US7831639B1 (en) * 2004-12-22 2010-11-09 Symantec Operating Corporation System and method for providing data protection by using sparse files to represent images of data stored in block devices
US8296271B1 (en) * 2005-03-28 2012-10-23 Federal Home Loan Mortgage Corporation System and method for optimizing data recovery in a parallel database
US8145686B2 (en) * 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US20070118547A1 (en) * 2005-11-22 2007-05-24 Monish Gupta Efficient index versioning in multi-version databases
US7822717B2 (en) * 2006-02-07 2010-10-26 Emc Corporation Point-in-time database restore
CN100394393C (zh) * 2006-03-10 2008-06-11 四川大学 信息***数据一致性检测方法
US7747831B2 (en) * 2006-03-20 2010-06-29 Emc Corporation High efficiency portable archive and data protection using a virtualization layer
US7831787B1 (en) 2006-03-20 2010-11-09 Emc Corporation High efficiency portable archive with virtualization
US9317222B1 (en) 2006-04-24 2016-04-19 Emc Corporation Centralized content addressed storage
US9235477B1 (en) 2006-04-24 2016-01-12 Emc Corporation Virtualized backup solution
US8769019B2 (en) * 2006-05-04 2014-07-01 Citrix Systems, Inc. Methods and systems for managing shared state within a distributed system with varying consistency and consensus semantics
US8065273B2 (en) * 2006-05-10 2011-11-22 Emc Corporation Automated priority restores
US9684739B1 (en) * 2006-05-11 2017-06-20 EMC IP Holding Company LLC View generator for managing data storage
US8732136B2 (en) * 2006-05-22 2014-05-20 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US7783956B2 (en) * 2006-07-12 2010-08-24 Cronera Systems Incorporated Data recorder
US20080263079A1 (en) * 2006-10-24 2008-10-23 Flextronics Ap, Llc Data recovery in an enterprise data storage system
JP4148529B2 (ja) * 2006-12-28 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
US7711716B2 (en) * 2007-03-06 2010-05-04 Microsoft Corporation Optimizations for a background database consistency check
JP4898609B2 (ja) * 2007-09-11 2012-03-21 株式会社日立製作所 ストレージ装置、データ回復方法及び計算機システム
US8055613B1 (en) * 2008-04-29 2011-11-08 Netapp, Inc. Method and apparatus for efficiently detecting and logging file system changes
KR100891036B1 (ko) * 2008-09-08 2009-03-31 (주)데이타뱅크시스템즈 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법
US8214589B2 (en) * 2009-03-13 2012-07-03 Seagate Technology Llc Data storage system redundancy scheme verification
US8255365B2 (en) * 2009-06-08 2012-08-28 Symantec Corporation Source classification for performing deduplication in a backup operation
DE112010004565B4 (de) 2009-12-25 2021-07-01 International Business Machines Corporation System, Verfahren und Programm zur Prüfung der Konsistenz von Zeigern in einer Hierarchischen Datenbank
US9251214B2 (en) * 2010-04-08 2016-02-02 Microsoft Technology Licensing, Llc In-memory database system
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8504526B2 (en) * 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US8396840B1 (en) * 2010-09-22 2013-03-12 Amazon Technologies, Inc. System and method for targeted consistency improvement in a distributed storage system
US8589350B1 (en) 2012-04-02 2013-11-19 Axcient, Inc. Systems, methods, and media for synthesizing views of file system backups
US8924360B1 (en) 2010-09-30 2014-12-30 Axcient, Inc. Systems and methods for restoring a file
US9235474B1 (en) * 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US8954544B2 (en) 2010-09-30 2015-02-10 Axcient, Inc. Cloud-based virtual machines and offices
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9996540B2 (en) * 2011-03-31 2018-06-12 EMC IP Holding Company LLC System and method for maintaining consistent points in file systems using a prime dependency list
US9026496B1 (en) * 2011-09-30 2015-05-05 Emc Corporation Efficient building of restore list
US8671085B2 (en) 2011-12-09 2014-03-11 Microsoft Corporation Consistent database recovery across constituent segments
US9710501B2 (en) * 2012-03-30 2017-07-18 Kinaxis Inc. Enhanced performance for large versioned databases
JP5464675B2 (ja) * 2012-04-02 2014-04-09 Necシステムテクノロジー株式会社 ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
JP5960820B2 (ja) * 2012-07-09 2016-08-02 株式会社Murakumo ツリー構造の管理方法、情報処理システム、及び、プログラム
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
AU2013299731A1 (en) * 2012-08-08 2015-02-26 Amazon Technologies, Inc. Archival data storage system
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
KR101429575B1 (ko) * 2012-10-22 2014-08-13 주식회사 엔써티 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
EP2951694B1 (en) * 2013-01-30 2017-08-16 Hewlett-Packard Enterprise Development LP Recovering pages of a database
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US9292153B1 (en) 2013-03-07 2016-03-22 Axcient, Inc. Systems and methods for providing efficient and focused visualization of data
US9397907B1 (en) 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
US9471439B2 (en) * 2014-03-13 2016-10-18 Sybase, Inc. Systems and methods for reducing load database time
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
JP6245700B2 (ja) * 2014-04-11 2017-12-13 国立大学法人 東京大学 計算機システム、データの検査方法及び計算機
KR101600694B1 (ko) * 2014-07-23 2016-03-07 농협은행(주) 테이프 백업 데이터 검증 방법
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US10346237B1 (en) * 2015-08-28 2019-07-09 EMC IP Holding Company LLC System and method to predict reliability of backup software
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US10261863B2 (en) * 2016-02-17 2019-04-16 International Business Machines Corporation Runtime file system consistency checking during backup operations
US11169962B2 (en) * 2016-03-17 2021-11-09 Rakuten Group, Inc. File management system, file management method, collection program, and non-transitory computer-readable information recording medium
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
CN108170103A (zh) * 2016-12-07 2018-06-15 沈阳中科博微科技股份有限公司 一种集成电路生产线设备常量监控的方法
US10379961B2 (en) * 2017-04-11 2019-08-13 International Business Machines Corporation Ensuring metadata and index consistency using write intents
CN108446187B (zh) * 2018-03-07 2021-02-09 上海达梦数据库有限公司 数据备份方法及数据还原方法
CN108647112B (zh) * 2018-03-16 2022-03-01 创新先进技术有限公司 数据备份的方法、装置及分布式事务处理***
US10802920B2 (en) 2018-04-18 2020-10-13 Pivotal Software, Inc. Backup and restore validation
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
CN111930558B (zh) 2019-05-13 2023-03-03 华为技术有限公司 数据库***的故障修复方法、数据库***和计算设备
US11228441B2 (en) * 2019-08-16 2022-01-18 Accenture Global Solutions Limited System for automated data verification
US10909109B1 (en) * 2019-12-30 2021-02-02 Atlassi An Pty Ltd. Quality control test transactions for shared databases of a collaboration tool
US11467926B2 (en) * 2020-03-19 2022-10-11 Sap Se Enhanced database recovery by maintaining original page savepoint versions
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US20220138151A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Sibling object generation for storing results of operations performed upon base objects
US11625306B2 (en) 2020-11-04 2023-04-11 Netapp, Inc. Data connector component for implementing data requests
US11755590B2 (en) 2020-11-04 2023-09-12 Netapp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
US11263206B1 (en) * 2021-03-02 2022-03-01 Coupang Corp. Systems and methods for multi-nodal stream processing framework for partitioned database

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674065A (en) 1982-04-30 1987-06-16 International Business Machines Corporation System for detecting and correcting contextual errors in a text processing system
US4958270A (en) * 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
US5148366A (en) 1989-10-16 1992-09-15 Medical Documenting Systems, Inc. Computer-assisted documentation system for enhancing or replacing the process of dictating and transcribing
GB2270779B (en) * 1992-09-17 1996-01-10 Fexco Initiative Limited Improvements in and relating to back-up database systems
US5392386A (en) 1994-02-03 1995-02-21 Inter Hi-Tec Ag Method and apparatus for adding functionality to computer programs executing under graphical user interfaces
GB9426165D0 (en) 1994-12-23 1995-02-22 Anthony Andre C Method of retrieving and displaying data
US5859636A (en) 1995-12-27 1999-01-12 Intel Corporation Recognition of and operation on text data
US5946647A (en) 1996-02-01 1999-08-31 Apple Computer, Inc. System and method for performing an action on a structure in computer-generated data
US6085201A (en) 1996-06-28 2000-07-04 Intel Corporation Context-sensitive template engine
US6185569B1 (en) 1998-06-29 2001-02-06 Microsoft Corporation Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table
US6662357B1 (en) 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US6408310B1 (en) 1999-10-08 2002-06-18 Unisys Corporation System and method for expediting transfer of sectioned audit files from a primary host to a secondary host
JP4428887B2 (ja) * 2000-06-27 2010-03-10 富士通株式会社 データベースシステム
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
US6959369B1 (en) * 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008119292A1 (fr) * 2007-04-02 2008-10-09 Huawei Technologies Co., Ltd. Procédé, dispositif et système de secours informatique de données stockées
CN102567140B (zh) * 2010-12-03 2015-09-23 微软技术许可有限责任公司 使用变化日志的文件***备份
US10558617B2 (en) 2010-12-03 2020-02-11 Microsoft Technology Licensing, Llc File system backup using change journal
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
CN102567140A (zh) * 2010-12-03 2012-07-11 微软公司 使用变化日志的文件***备份
US9870379B2 (en) 2010-12-21 2018-01-16 Microsoft Technology Licensing, Llc Searching files
US11100063B2 (en) 2010-12-21 2021-08-24 Microsoft Technology Licensing, Llc Searching files
CN102708143A (zh) * 2011-03-18 2012-10-03 微软公司 在页级跟踪重做完成
CN102708143B (zh) * 2011-03-18 2018-05-15 微软技术许可有限责任公司 在页级跟踪重做完成
US9384100B2 (en) 2011-03-18 2016-07-05 Microsoft Technology Licensing, Llc Tracking redo completion at a page level
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
CN102662793A (zh) * 2012-03-07 2012-09-12 江苏引跑网络科技有限公司 一种可保证数据一致性的分布式数据库热备份与恢复方法
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及***
CN104252481A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 主从数据库一致性的动态校验方法和装置
CN104252481B (zh) * 2013-06-27 2018-10-19 阿里巴巴集团控股有限公司 主从数据库一致性的动态校验方法和装置
CN104865906A (zh) * 2014-06-27 2015-08-26 广东美的环境电器制造有限公司 环境调节装置的控制***和方法、服务器和移动终端
CN105868205B (zh) * 2015-01-21 2019-08-27 阿里巴巴集团控股有限公司 数据读取方法及装置
CN105868205A (zh) * 2015-01-21 2016-08-17 阿里巴巴集团控股有限公司 数据读取方法及装置
CN104778228A (zh) * 2015-03-27 2015-07-15 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
CN104778228B (zh) * 2015-03-27 2018-08-07 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
CN105574187B (zh) * 2015-12-23 2019-02-19 武汉达梦数据库有限公司 一种异构数据库复制事务一致性保障方法及***
CN105574187A (zh) * 2015-12-23 2016-05-11 武汉达梦数据库有限公司 一种异构数据库复制事务一致性保障方法及***
CN107656834A (zh) * 2016-07-26 2018-02-02 慧与发展有限责任合伙企业 基于事务日志恢复主机访问
CN107656834B (zh) * 2016-07-26 2021-04-09 慧与发展有限责任合伙企业 用于基于事务日志恢复主机访问的***和方法及存储介质
CN108280097A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 一种数据库***的故障处理方法和装置
CN108509460A (zh) * 2017-02-28 2018-09-07 微软技术许可有限责任公司 分布式***中的数据一致性检查
US11481380B2 (en) 2017-02-28 2022-10-25 Microsoft Technology Licensing, Llc Data consistency check in distributed system
CN108509460B (zh) * 2017-02-28 2021-07-20 微软技术许可有限责任公司 分布式***中的数据一致性检查
US11748215B2 (en) 2017-12-05 2023-09-05 Huawei Technologies Co., Ltd. Log management method, server, and database system
CN110121694A (zh) * 2017-12-05 2019-08-13 华为技术有限公司 一种日志管理方法、服务器和数据库***
CN110121694B (zh) * 2017-12-05 2020-08-07 华为技术有限公司 一种日志管理方法、服务器和数据库***
US11604597B2 (en) 2018-01-16 2023-03-14 Huawei Technologies Co., Ltd. Data processing method and apparatus
CN110045912B (zh) * 2018-01-16 2021-06-01 华为技术有限公司 数据处理方法和装置
CN110045912A (zh) * 2018-01-16 2019-07-23 华为技术有限公司 数据处理方法和装置
CN111143112B (zh) * 2018-11-02 2023-08-25 伊姆西Ip控股有限责任公司 用于恢复元数据的方法、设备和计算机可读存储介质
CN111143112A (zh) * 2018-11-02 2020-05-12 伊姆西Ip控股有限责任公司 用于恢复元数据的方法、设备和计算机程序产品
CN111625396A (zh) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 备份数据的校验方法、服务器及存储介质
CN111625396B (zh) * 2019-02-27 2023-05-26 阿里云计算有限公司 备份数据的校验方法、服务器及存储介质
CN113032408A (zh) * 2019-12-24 2021-06-25 阿里巴巴集团控股有限公司 数据处理方法、***及设备
CN113032408B (zh) * 2019-12-24 2024-05-07 阿里巴巴集团控股有限公司 数据处理方法、***及设备
CN111913916A (zh) * 2020-07-07 2020-11-10 泰康保险集团股份有限公司 一种文件重组的方法及设备
CN111753518A (zh) * 2020-08-12 2020-10-09 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN111753518B (zh) * 2020-08-12 2021-03-12 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN112307118A (zh) * 2020-09-30 2021-02-02 武汉达梦数据库有限公司 基于日志解析同步的保障数据一致性的方法和同步***
CN112307118B (zh) * 2020-09-30 2024-03-22 武汉达梦数据库股份有限公司 基于日志解析同步的保障数据一致性的方法和同步***
CN112463780B (zh) * 2020-12-02 2024-01-05 中国工商银行股份有限公司 数据质量检查方法及装置
CN112463780A (zh) * 2020-12-02 2021-03-09 中国工商银行股份有限公司 数据质量检查方法及装置
CN118093273A (zh) * 2024-04-23 2024-05-28 成都云祺科技有限公司 重做记录中事务处理方法、***及cdp重放与恢复方法

Also Published As

Publication number Publication date
US7277905B2 (en) 2007-10-02
CN100430936C (zh) 2008-11-05
DE602004021686D1 (de) 2009-08-06
JP4598055B2 (ja) 2010-12-15
JP2007531155A (ja) 2007-11-01
ATE434789T1 (de) 2009-07-15
EP1618504B1 (en) 2009-06-24
EP1618504A1 (en) 2006-01-25
US20050223043A1 (en) 2005-10-06
KR20070058281A (ko) 2007-06-08
EP1618504A4 (en) 2008-04-02
WO2005103955A1 (en) 2005-11-03
KR101014089B1 (ko) 2011-02-14

Similar Documents

Publication Publication Date Title
CN100430936C (zh) 用于数据库备份的一致性检验的***和方法
US8140484B2 (en) Techniques for determining an implemented data protection policy
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
CN101243446B (zh) 从数据库镜像进行在线页还原
US8732521B2 (en) Detection of logical corruption in persistent storage and automatic recovery therefrom
US8185505B1 (en) Techniques for processing recovery points
US7096250B2 (en) Information replication system having enhanced error detection and recovery
US7865473B2 (en) Generating and indicating incremental backup copies from virtual copies of a data set
US9569460B1 (en) Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data
CN1842789A (zh) 用于在数据库恢复期间快照查询的***和方法
US20060075294A1 (en) System and Method for Reliably Storing Data and Providing Efficient Incremental Backup and Asynchronous Mirroring by Preferentially Handling New Data
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
JP2006508473A (ja) 記憶システムにおけるデータ回復技術
CN105659213A (zh) 无共享分布式存储***中的目标驱动独立数据完整性和冗余恢复
US7801859B1 (en) Tracking filesystem backups
US8086580B2 (en) Handling access requests to a page while copying an updated page of data to storage
JP2013050836A (ja) ストレージシステムとデータ・インテグリティのチェック方法並びにプログラム
US11379318B2 (en) System and method of resyncing n-way mirrored metadata on distributed storage systems without requiring checksum in the underlying storage
US11403189B2 (en) System and method of resyncing data in erasure-coded objects on distributed storage systems without requiring checksum in the underlying storage
US11182250B1 (en) Systems and methods of resyncing data in erasure-coded objects with multiple failures
US7149935B1 (en) Method and system for managing detected corruption in stored data
US9411835B1 (en) Method and system for validating data integrity

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081105

Termination date: 20200729