CN1784682A - 用于自动数据库或文件系统维护和修复的系统和方法 - Google Patents

用于自动数据库或文件系统维护和修复的系统和方法 Download PDF

Info

Publication number
CN1784682A
CN1784682A CNA2004800123735A CN200480012373A CN1784682A CN 1784682 A CN1784682 A CN 1784682A CN A2004800123735 A CNA2004800123735 A CN A2004800123735A CN 200480012373 A CN200480012373 A CN 200480012373A CN 1784682 A CN1784682 A CN 1784682A
Authority
CN
China
Prior art keywords
page
data
subsystem
database
damaged
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
CNA2004800123735A
Other languages
English (en)
Other versions
CN100570599C (zh
Inventor
A·A·欧克斯
H·R·科达瓦拉
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 CN1784682A publication Critical patent/CN1784682A/zh
Application granted granted Critical
Publication of CN100570599C publication Critical patent/CN100570599C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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
    • G06F11/1469Backup restoration techniques
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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

Abstract

本发明一般涉及数据库和文件系统管理,尤其涉及自动数据库和文件系统维护和修复,以确保数据可靠性。本发明的各个方面涉及响应并校正在数据页面层上对所有数据页面类型的数据损坏,以及各种情形的恢复(包括重建或还原操作),包括但不限于索引页面损坏(集聚的和非集聚的)、数据页面损坏、以及日志文件中的页面损坏。

Description

用于自动数据库或文件系统维护和修复的系统和方法
相关申请
本申请声明对序列号为10/837,932于2004年5月3日提交的美国专利申请的优先权,其内容在此全部引入作为参考。
本申请的主题涉及在以下共同受让申请中揭示的发明,其内容在此全部引入作为参考:申请号为10/647,058(律师案号MSFT-1748)于2003年8月21日提交的题为“SYSTEMS AND METHODS FOR REPRESENTING UNITS OFINFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACESYSTEM BUT INDEPENDENT OF PHYSICAL REPRESENTATION”(“用于表现可由硬件/软件接口系统管理的信息单元但独立于其物理表示的系统和方法”)的美国专利申请;申请号为10/646,941(律师案号为MSFT-1749)于2003年8月21日提交的题为“SYSTEMS AND METHODS FOR SEPARATING UNITS OFINFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACESYSTEM FROM THEIR PHYSICAL ORGANIZATION”(“用于表现可由硬件/软件接口系统管理的信息单元之间的关系的系统和方法”)的美国专利申请;申请号为10/646,940(律师案号为MSFT-1750)于2003年8月21日提交的题为“SYSTEMSAND METHODS FOR THE IMPLEMENTATION OF A BASE SCHEMA FORORGANIZING UNITS OF INFORMATION MANAGEABLE BY AHARDWARE/SOFTWARE INTERFACE SYSTEM”(“实现用于组织可由硬件/软件接口系统管理的信息单元的基本模式的系统和方法”)的美国专利申请;申请号为10/646,632(律师案号为MSFT-1751)于2003年8月21日提交的题为“SYSTEMSAND METHODS FOR THE IMPLEMENTATION OF A CORE SCHEMA FORPROVIDING A TOP-LEVEL STRUCTURE FOR ORGANIZING UNITS OFINFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACESYSTEM”(“实现用于提供组织可由硬件/软件接口系统管理的信息单元的顶层结构的核心模式的系统和方法”)的美国专利申请;申请号为10/646,645(律师案号为MSFT-1752)于2003年8月21日提交的题为“SYSTEMS AND METHOD FORREPRESENTING RELATIONSHIPS BETWEEN UNITS OF INFORMATIONMANAGEABLE BY A HARDWARE/SOFTWARE INTERFACE SYSTEM”(“用于将可由硬件/软件接口系统管理的信息单元与其物理组织分开的系统和方法”)的美国专利申请;申请号为10/646,575(律师案号为MSFT-2733)于2003年8月21日提交的题为“SYSTEMS AND METHODS FOR INTERFACING APPLICATIONPROGRAMS WITH AN ITEM-BASED STORAGE PLATFORM”(用于使应用程序与基于项的存储平台通过接口连接的系统和方法)的美国专利申请;申请号为10/646,646(律师案号为MSFT-2734)于2003年8月21日提交的题为“STORAGEPLATFORM FOR ORGANIZING,SEARCHING,AND SHARING DATA”(用于组织、搜索和共享数据的存储平台)的美国专利申请;申请号为10/646,580(律师案号为MSFT-2735)于2003年8月21日提交的题为“SYSTEMS AND METHODS FORDATA MODELING IN AN ITEM-BASED STORAGE PLATFORM”(用于在基于项的存储平台中数据建模的系统和方法)的美国专利申请。
技术领域
本发明一般涉及数据库和文件系统管理,尤其涉及自动数据库和文件系统维护和修复,以确保数据可靠性。本发明的各个方面涉及响应并在数据页面层上对所有数据页面类型校正数据损坏,以及各种情形的恢复(包括重建或还原操作),包括但不限于索引页面损坏(集聚的和非集聚的)、数据页面损坏、以及日志文件中的页面损坏。
背景技术
尽管客户机数据库平台(即家用和商用台式计算机)使用的硬件质量比服务器平台的低得多,但是甚至服务器类的硬件(控制器、驱动器、盘等等)仍然可导致数据损坏,从而读取操作不能返回应用程序写到数据存储器中的内容。当然,出于各种原因客户机数据库平台(与服务器数据库平台相对)的问题显然更多,包括但不限于,客户机在写操作中期因意外停电而被任意断电的可能性增加,从而导致受损页面和可能的数据库损坏。(对服务器数据库系统而言较常见的是利用不中断电源来减轻因停电导致的问题。)媒体衰退是数据库损坏的另一种来源,其中物理存储媒体确实会随时间而磨损。有关可靠性的关心的又一种来源是检测由因疏忽(例如程序错误(bug))和恶意(例如病毒)的软件错误而导致的损坏并从中恢复。
通常数据库的维护和修复是由数据库管理员等进行的,这些数据库管理员具有良好技能并具有对数据库系统的深厚知识,或由至少熟悉并经常使用数据库系统的个人—大体上是对数据库技术相对熟练的人进行。另一方面,操作系统和应用程序的典型消费者和商业终端用户很少用数据库,且很大程度上被错误装备来进行数据库维护和修复。
尽管这两组之间不同的技能级别在过去很大程度上并不相关,但操作系统的数据库实现的文件系统—诸如在“相关申请”章节中标识的相关美国专利申请中揭示的操作系统—创建了这些较不熟练的终端用户将面对他们基本上不能解决的数据库维护和修复问题的情形。因而商业/消费者的数据库实现的操作系统文件系统,或简称为“数据库文件系统”(DBFS)必须能够检测损坏并将其数据库恢复到事务处理的一致状态,且在不可恢复的数据丢失情形中,DBFS必须确保在维护所述数据的原子变化单元的层次上(即,在基于项的DBFS的“项”层上)的数据一致性。此外,对于缺省地以懒提交模式运行的DBFS,在异常断电之前刚提交的交易持久性无法得到确保,且必须进行说明和校正。
此外,在商业/消费者终端用户将大大受益于自动的DBFS维护和恢复的同时,数据库管理员和具有较多数据库技能的人也将受益于一般数据库维护和修复的技术方案。对本领域的数据库管理员而言常见的是利用数据库工具(例如被提供SQLServer 2000的数据库调整顾问),但这些工具不能直接解决可靠性问题,而是相反提供执行并管理数据库备份的方法—且不是以大部分自动化方式,而是相反想要数据库管理员的大量参与,特别是当数据库备份不可用或者产生其它修复问题时。因而,解决数据库可靠性的自动化方案也将有利于数据库管理员和其它熟练数据库用户。本发明就是提供了这样的方案。
发明内容
本发明的各个实施例涉及DBFS的数据可靠性系统(DRS),其中该DRS包括用于自动执行数据库管理(DBA)任务而几乎不需要或不需要终端用户的直接参与(因而基本上对所述终端用户透明)的框架和策略集。对于若干实施例,DRS框架实现用于将错误和事件通知、策略、和错误/事件处理算法插入DRS的机制。更特别地,对于这些实施例,DRS是负责在背景中维护和修复DBFS的背景线程,因而DRS在最高层上保护并维护DBFS的整体健康。
对于本发明的若干实施例,DRS包括以下特征:(1)在页面层上对所有页面类型响应并校正数据损坏;以及(2)对以下尝试第二层的恢复(重建或还原):(a)索引页面损坏(集聚的和非集聚的);(b)数据页面损坏;以及(c)日志文件中的页面损坏。
本发明某些实施例还包括DRS的特定功能,包括但不限于:(i)处理修复/恢复数据损坏情形;以及(ii)(iii)改进系统的可靠性和可用性;以及(iv)保留熟练第三方的DRS错误/事件历史表格,以在需要时检修数据库或存储引擎问题。
附图说明
结合附图阅读前面的发明内容和以下较佳实施例的详细描述,能得到更好的理解。为了说明本发明,在附图中示出本发明的示例性结构;然而,本发明并不限于所揭示的特定方法和装置。在附图中:
图1是示出本发明各方面可结合其中的计算机系统的框图;
图2是示出代表本发明若干实施例的数据库文件系统(DBFS)中数据可靠性系统(DRS)的结构的框图;
图3A是示出数据库FPM将数据存储器附加到DBFS的框图;
图3B是示出在本发明若干实施例的数据库附加操作期间检测并校正被损坏页面的过程的流程图;
图4A是示出根据本发明各个实施例在启动/崩溃恢复环境中利用DRS的流程图;
图4B是示出在数据库附加期间由DRS处理的错误的表格;
图5A是示出本发明各个实施例的在查寻引擎遭遇错误时的在线操作中利用DRS的流程图;
图5B是示出在线操作期间由DRS处理的错误的表格;
图6是示出当页面在最近的瞬象中存在且具有有效处理日志时DRS执行恢复的流程图;
图7是示出本发明若干DRS实施例的用于使数据库恢复在线的方法的流程图,在这些实施例中数据库不能被恢复且没有可用备份。
图8是示出根据本发明一方面DRS用来尝试恢复数据页面的方法的流程图。
具体实施方式
本发明的主题是专门为满足法定需求而进行描述的。然而,该描述本身并不是要限制本专利的范围。相反,发明者已经预期到已声明主题也能结合其它现有或以后的技术用其它方式体现,以包括不同的步骤或类似于本文档中所述步骤的组合。此外,尽管术语“步骤”在此可用以暗示所用方法的不同元素,该术语不应被解释为暗示在此揭示的不同步骤之间或当中的任何特定次序,除非在明确说明单独步骤的次序时。
以上发明内容提供了对本发明特征的纵览。本发明一实施例的详细描述如下。对于以下所述的各个实施例,本发明特征被描述为在Microsoft SQL Server数据库系统(在此有时简称为“SQL”)中单独实现,或者被结合到Microsoft WinFS文件系统用于下一代个人计算机操作系统(通常称为“Windows Longhorn”或简称为“Longhorn”),后者是先前所述许多相关专利申请的主要主题。如上所述,SQLServer结合了Microsoft.NET公共语言运行时间(CLR),以使受管理代码能被编写并执行,来对SQL Server数据库的数据存储器进行操作。尽管以下所述的实施例在该环境中操作,但是可以理解本发明决不受限于SQL Server产品中的实现。相反,本发明可在支持面向对象编程代码的执行以在数据库存储器上操作的任何数据库系统中实现,诸如面向对象的数据库系统和具有对象关系扩展的关系数据库系统。因此,可以理解,本发明并不限于以下所述的特定实施例,而是旨在包括在由所附权利要求限定的本发明精神和范围内的所有修改。
计算机环境
本发明的许多实施例可在计算机上执行。图1和下面的讨论旨在提供其中可实现本发明的合适计算环境的简要描述。尽管并非必须,本发明能在计算机可执行指令的通用环境中描述,诸如由比如客户工作站或服务器的计算机所执行的程序模块。通常,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将会理解本发明可用其它计算机系统配置实践,包括手持式装置、多处理器系统、基于微处理器的或可编程的消费电器、网络PC、小型机、大型机等等。本发明也可在分布式计算环境中实践,其中任务由经通信网络链接的远程处理装置执行。在分布式计算环境中,程序模块可位于本地或远程存储存储设备中。
如图1所示,示例性通用计算系统包括常规个人计算机20等,它包括处理单元21、系统存储器22,以及将包括系统存储器的各个系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线,以及使用多种总线体系结构任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。包含帮助诸如在启动阶段,在个人计算机20内的元件之间传递信息的基本例程的基本输入/输出系统26(BIOS)被存储在ROM 24中。个人计算机20还可包括用于读自或写到硬盘(未示出)的硬盘驱动器27、用于读自或写到可移动磁盘29的磁盘驱动器28,以及用于读自或写到诸如CD ROM或其它的光学介质的可移动光盘31的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34与系统总线23相连。驱动器及其相关联的计算机可读媒体提供计算机可读指令、数据结构、程序模块和其它有关个人计算机20数据的非易失性存储。尽管在此说明的示例性环境使用硬盘、可移动磁盘29和可移动光盘31,但是本领域技术人员会认识到在示例性操作环境中也可使用的可存储计算机可访问的数据的其它类型的计算机可读媒体,诸如盒式磁带、闪存卡、数字视频盘、伯努利卡、随机存取存储器(RAM)、只读存储器(ROM)等等。
许多程序模块可被存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25上,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38。用户可将命令和信息通过诸如键盘40和定点装置42的输入装置输入到个人计算机20中。其它输入装置(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪等等。这些和其它的输入装置通常通过与系统总线相耦合的串行端口接口46与处理单元21相连,但也可由诸如并行端口、游戏端口或通用串行总线(USB)的其它接口连接。监视器47或其它类型的显示装置也可通过诸如视频适配器48的接口与系统总线23相连。除监视器47之外,个人计算机通常包括其它的外围输出器件(未示出),诸如扬声器和打印机。图1的示例性系统也可包括主机适配器55、小型计算机系统接口(SCSI)总线56,以及与SCSI总线56相连的外部存储器件62。
个人计算机20可在使用与诸如远程计算机49的一台或多台远程计算机的逻辑连接的网络化环境中操作。远程计算机49可以是另一台个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,且通常包括与上述个人计算机20相关的许多或所有元件,尽管在图1中仅示出了存储器存储装置50。图1所述的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的网络环境常见于办公室、企业范围计算机网络、内联网和因特网中。
当在LAN网络环境中使用时,个人计算机20通过网络接口或适配器53与LAN 51相连。当在WAN网络环境中使用时,个人计算机20通常包括调制解调器54或用于在诸如因特网的广域网52上建立通信的其它装置。可以内置或外置的调制解调器54通过串行端口接口46与系统总线23相连。在网络化环境中,所示与个人计算机20相关的程序模块或其各个部分,可被存储在远程存储器存储装置中。应当理解所示网络连接是示例性的,也可使用在计算机之间建立通信链接的其它装置。
尽管可想象本发明许多实施例特别适合于计算机化系统,但本文档中内容并非旨在将本发明限制在这些实施例中。相反,当在此使用时,术语“计算机系统”旨在包含任何和所有能够存储并处理信息和/或能够使用该存储信息来控制装置本身行为或执行的装置,无论这些装置的特性是电子、机械、逻辑还是虚拟的。
数据可靠性系统(DRS)的纵览
对于本发明的若干实施例,数据可靠性系统(DRS)是在背景中维护并修复数据库的线程,因而保护了数据库文件系统(DBFS)的总体健康。图2是示出DBFS中DRS的结构的框图。在该图中,向多个应用程序212、214和216提供操作系统级别服务的操作系统202,包括在逻辑上与持久数据存储器232内耦合的DBFS222。操作系统202还包括DRS 242,它在发现持久数据存储器232的多个页面234、236和238中的页面错误240的任何时候由DBFS 222调用(244),然后DRS 242响应于该页面错误240执行修复操作。
对于本发明的各个实施例,DRS可包括以下特征:(1)在页面层上对所有页面类型响应并校正数据损坏;以及(2)对以下尝试第二层的恢复(重建或还原):(a)索引页面损坏(集聚的和非集聚的);(b)数据页面损坏;以及(c)日志文件中的页面损坏。本发明某些实施例还包括DRS的特定功能,包括但不限于:(i)处理修复/还原数据损坏情形;以及(ii)改进系统的可靠性和可用性;以及(iii)保留熟练第三方的DRS错误/事件历史表格,以在需要时检修数据库或存储引擎问题。
本发明的某些实施例提供可扩展的DRS从而在已经发行DBFS之后可更新恢复策略和检测机制。若干实施例涉及在DBFS数据库保持在线时运行修复的DRS。其它实施例涉及具有对DBFS存储器的全权使用(即sysadmin特权)而运行。还有其它实施例将具有实时检测故障并对其作出反应的能力。对于若干实施例,DRS修复将在维护所述数据的变化单元层次上(即,在基于项的DBFS的“项”层上)进行事务处理。最后,对于各个实施例,修复将完全恢复项或者它将收回其改变,且DRS将具有即使重新启动在该过程中间进行也能继续恢复/还原工作的能力。
对于本发明的若干实施例,DRS将预订SQL事件,从而如果SQL触发一般事件,DRS可拦截它并作出响应(包括但不限于823/824事件)。此外,本发明的另一方面是对要修改的数据库引擎发送DRS要特别处理的错误条件的DRS特定事件。
对于本发明的各个实施例,在DBFS从盘中读取或写入页面的任何时候将检测损坏,在该情形中SQL将取决于损坏类型生成许多错误之一,并还将触发特定DRS事件以向其通知特定错误条件。DRS将接收那些错误,并将其置入要处理的输入队列中。
对于本发明的若干实施例,确定页面是否遭损坏通过各种手段来实现,包括但不限于:(a)检查页面的校验和,并且如果校验和无效则该页面被视为无效,或(b)通过检查日志序列号(LSN)来查看它是否在日志文件末端之外(其中LSN是随着每个处理递增的整数),从而如果日志中最后处理是LSN 432,并且所发现的具有更大LSN的页面,则必然发生了写次序错误。在这方面,主要有四类可影响DBFS操作(以及其它源比如bug等)的页面损坏,且这四类包括损坏页面、媒体衰退、硬件故障、以及无序写入。损坏页面在数据页面未正确地原子写入时发生,因而由于在例如电源故障或扇区写入故障的故障事件之前仅对盘写入页面的部分扇区,该页面的任一部分可遭到损坏。媒体衰退在数据页面比特因物理媒体衰退而遭到损坏时发生。硬件故障可因与总线、控制器、或硬盘装置有关的各种原因而引起。对于无序写入,这些错误源自IDE驱动器不能确保写入盘的顺序的事实,特别是IDE驱动器能够(开启)写缓存,因而写入数据存储器可无序发生是可能的。如果无序写入的部分序列进行但被例如电源故障打断,则会产生若干错误,诸如在编写例如相关联日志条目之前写入盘的数据页面。尽管无序错误可通过检查数据页面上的日志序列号(LSN)来检测,但是没有短时间内读取每个页面的简便方法。
页面类
为了本发明,所有页面根据以下页面类来进行分类:
·数据页面:数据页面被视为具有用户数据在其上的任何页面,包括集聚索引的叶页面。
·索引页面:这些页面仅包含索引信息,且它们包括非集聚的索引页面以及集聚索引的非叶页面。
·系统页面:这些页面包括GAM、SGAM、和Boot页面,且即使DRS不具有对这些页面的特定还原支持,DRS仍可尝试对这些页面的页面层还原;无论如何,如果页面层还原失败,则DRS尝试紧急修复(在后面讨论)。
·不可恢复页面:PFS(页面空闲空间)页面或来自5个系统表格(Sysrowsetcolomns、Sysrowsets、Sysallocunits、Syshobtcolumns、Syshobts)的页面包括本类页面,且DRS在该情形中将还原整个数据库。
·日志页面:这些是属于处理日志的页面,且DRS将在它们被损坏时尝试紧急修复(在后面讨论)。
损坏类别
对于本发明的若干实施例,DRS被设计成解析在检测到损坏时定义的三类不同的数据页面损坏,这三种类别包括:(1)在数据库附加期间;(2)在正常在线操作期间;以及(3)在处理反转期间。
数据库附加损坏检测:
图3A是示出数据库FPM将数据存储器附加到DBFS的框图。图3B是示出在数据库附加操作期间检测并校正被损坏页面的过程的流程图。一般而言,数据库文件属性管理器(DBFPM)302管理DBFS存储器304、306和308的附加和分离。在步骤352,当DBFPM 302附加例如DBFS存储器304的存储器时,SQL在步骤354运行崩溃恢复,以在步骤356确定在处理日志314中是否有任何在崩溃时活动的处理324(例如任何未完成处理),且如果有则SQL在步骤358在继续之前执行数据库的崩溃恢复。在崩溃恢复期间SQL将正常(a)分析最后检验点之后的处理日志,(b)重做日志中未发现写入盘的任何操作,以及(c)撤消尚未完成的任何处理。如果在步骤360未发现恢复期间有任何错误,则在步骤362数据库成功附加。然而,如果在步骤360发现崩溃恢复期间有一错误,则在步骤364 SQL将无法实现数据库附加。
该“数据库附加”情形是重要的,因为每次附加存储器时都要调用它。每当操作系统(例如Window操作系统)启动时以及每当外部驱动器(例如Firewire、USB等)被附加到计算机上或与其分离时,附加存储器。数据库附加情形调用崩溃恢复,并因此检测受损坏页面(未完成写入),因而需要DRS来处理该情形,因为用户可能物理地移除硬件。
然而,当根据本发明各个实施例利用DRS时,行为与图4A流程图所示的略有不同。首先,在步骤402,DBFPM附加DBFS数据库,且在步骤404,SQL运行崩溃恢复,且在步骤408尝试使数据库在线。如果在步骤410没有崩溃恢复中的错误而附加数据库,则SQL将返回成功,且数据库将在步骤452上(在线)附加。然而,如果有错误,则DRS在步骤412将评估数据库,以确定该数据库是否事务处理一致。
仅当数据库经历在处理反转期间的故障时,即物理或逻辑的撤消错误—或者如果未知错误在崩溃恢复期间发生,数据库会不一致。如果在步骤412数据库是事务处理一致的,则DRS在步骤414将延迟修复直到完成恢复操作—换言之,DRS将声明数据库的状态为对数据库附加一致(“成功”),然后等待在恢复完成之后开始修复所检测的损坏,且数据库在步骤452上附加以便避免与崩溃恢复的任何冲突。
一旦恢复完成且在步骤452附加成功,在步骤478如果有延迟修复,则在步骤480 DRS将开始修复,且在步骤482首先尝试调用损坏的页面层还原。如果在步骤484页面层还原失败或者不可能,则在步骤486DRS将确定是否是由于索引页面的故障,且如果是则DRS在步骤488重建该索引。另一方面,如果在步骤490错误是在数据页面中,则DRS将在步骤492尝试数据页面恢复。然而,如果在步骤490 DRS确定数据库不一致或者具有未知/不受支持的错误,则在步骤494DRS将立即使数据库离线(从而结束恢复操作)并将该数据库标记为“可疑”,然后在步骤496尝试紧急修复。
图4B是示出在数据库附加期间由DRS处理的错误的表格。
在线操作损坏检测:
图5A是示出本发明各个实施例的在查寻引擎遭遇错误时的在线操作中利用DRS的流程图。该情形是在DBFS的正常运行时间使用期间,诸如当终端用户使用操作系统外壳来执行对DBFS的中等复杂查询时,以及在执行该查询期间,该查询引擎报告一错误。在这些在线操作情形中,当错误发生时,DRS在步骤502放弃该处理以尝试修复错误。DRS在步骤504将首先尝试页面层还原。然而,如果页面层还原在步骤506不可用或者失败,则DRS将在步骤508确定出故障的页面类型。在步骤510,如果是索引页面的故障,则DRS将在步骤512尝试索引恢复。如果在步骤514故障是数据页面,则DRS将在步骤516尝试数据页面恢复。如果在步骤518故障是因为系统或日志页面错误,则DRS将在步骤520尝试紧急修复。如果在步骤518故障是不可恢复错误(5个系统表格或PFS页面),则DFS将在步骤522自动还原整个数据库,或者提示终端用户还原整个数据库。
图5B是示出在在线操作期间由DRS处理的错误的表格。
处理反转损坏检测:
如果错误在处理反转期间发生,则DRS将使数据库离线,将其标记为可疑,并重新启动数据库以便调用崩溃恢复。然后该过程将重新调用该方法,用于稍早揭示的崩溃恢复损坏检测。
恢复技术
如本领域技术人员所众所周知并易于理解的,事务处理一致性涉及仅显示已提交数据(或使其可用),以及仅提交(写入持久存储器并记录事务处理)正确数据。在这方面,只要在崩溃恢复期间实现了所有重做和撤消请求,数据库是事务处理一致的。因而许多类损坏可在数据和索引页面中呈现但仍然是事务处理一致的。
本发明的各个实施例认识到常常不需要在线执行许多这些事务处理,因此这些实施例尝试在数据库离线时执行所有修复。
当SQL错误发生时,DRS将仅接收页面id和数据库id。从该信息中,DRS将询问该页面以确切地指出它是哪类页面。这些实施例具有数据页面和索引损坏的恢复机制,其中DRS尝试恢复因为该损坏引起的DBFS项的丢失。然而,有许多可在数据库中丢失的其它类型页面,包括GAM、SGAM、PFS、启动页面及其它。尽管典型的DBFS不具有这些页面类型的特定备份和恢复机制,但是DRS将尝试调用页面层还原。
对于已受损坏的页面,DRS将尝试页面层还原。页面层还原是没有记载的,因为我们可以向用户确保我们会丢弃尚未提交的任何数据。同一技术将应用于来自任何表格的页面,且该方法不管所还原的页面或表格是什么类型都不会改变。页面层还原仅在如果页面存在于最近瞬象之中时才发生。此外有效的处理日志必须可用。如果页面不在最近的瞬象之中,则我们必须使用本领域技术人员所众所周知和理解的项层还原技术来恢复该页面(诸如从备份操作中的还原)。
如果页面的确存在于最近瞬象之中,且具有有效的处理日志,则DRS将执行以下动作来还原该页面,如图6所示:(1)在步骤602,确定遭损坏页面的PageID;(2)在步骤604,从DBFS存储器的最近瞬象中寻找并复制受损坏的页面;(3)在步骤606,通过快进应用于该页面的事务处理,将盘上处理日志应用于该页面;(4)在步骤608,将所还原的页面应用于在线数据库;以及(5)如果在步骤610有对所还原页面的延迟事务处理,则在步骤612我们将必须重新启动数据库(从而运行崩溃恢复并清除所延迟的事务处理),否则操作在步骤614继续。
关于前述瞬象,如本领域技术人员所理解的,VSS(卷影子副本服务)提供了用于维护某些卷(例如NTFS卷)的时间瞬象中点的一种方法。VSS瞬象通过使用写时复制来维护卷的影子副本,即在盘页面被修改的任何时候,该页面的预先图像被写入最新瞬象的瞬象存储区域。当在机器上使能TimeWarp时—对某些DBFS及其相应操作系统可能是缺省的—瞬象可以一天两次的缺省速率取得并可维护最多63张瞬象。为了使用存储在瞬象中的预先图像,从取得瞬象时到现在的维护日志,而日志截取仅在TimeWarp瞬象时间发生,从而所有时间都有来自上一瞬象的日志可用。在有页面损坏且页面在最新瞬象中可用的情形中,日志可从瞬象重放到该页面上的当前点以还原之。
在TimeWarp瞬象期间,有关该瞬象的DBFS存储得到恢复。这使得页面层还原对因瞬象数据库的恢复而触及的页面而言是不可能的。为了解决该问题,SQLServer视点在瞬象卷中的数据库上取得并且该数据库得到恢复—即,DRS在瞬象卷中的数据库上具有未经恢复视点,且该视点中的各个页面总是可用于页面层还原。
对于系统、日志或未知的页面修复—即,如果日志损坏发生或者如果有DRS不能校正的故障(例如数据或索引),则DRS将向用户呈现以下选项:(a)还原整个数据库(存储器);或者(b)以紧急模式恢复数据库。
为了以紧急模式修复数据库,最重要的是识别DBCC从损坏处理日志和不可恢复的数据库情形中恢复的新能力。然后,如果数据库不能被恢复,或者没有可用备份,则以下系列动作,如图7所示,将使得数据库对本发明的若干DRS实施例恢复在线:(a)在步骤702,将数据库设置为紧急模式;(b)在步骤704运行‘DBCCCHECKDB(database,REPAIR_ALLOW_DATA_LOSS)’,它在紧急模式中具有特定含义:(i)迫使数据库恢复继续过去的错误(从日志中获取尽可能多的数据,但导致事务处理地不一致的数据库),(ii)丢弃被损坏的日志文件并创建新的日志文件,(iii)运行全数据库修复以使数据库进入结构上一致的状态(不能反转或撤消的‘原子’单向操作,且在不手动编辑文件的情形中是恢复数据库的唯一可能方法);以及(c)因为数据库在物理上是一致的,DSR在步骤706对整个存储器运行CC。这些步骤的成功执行应当确保该数据(基于项的DBFS中的各项)将是一致的,但它可能意味着某些应用程序将事务处理地不一致。
有两类索引页面:非集聚页面和集聚的非叶页面。带有数据的索引页面(集聚索引的叶页面)被视为数据页面。有了这样的概念,对于可恢复索引故障,DRS尝试使用离线索引重建来修复索引(其中数据库将在该修复期间在线,而只有索引将离线)。如果修复失败,则DRS丢弃该索引并尝试重建该索引。然后,如果重建也失败,则DRS将完全丢弃该索引或者禁用该索引,并尝试在后来再次重建(可能无限地这样做直到成功)。
对于数据页面恢复,如果DRS接受所处理错误之一,并确定该页面是一数据页面,则它将尝试恢复。这可在SQL Server操作的任何状态期间(DB附加、在线操作和反转)进行。如图8所示,如果DRS在步骤802检测到数据页面错误,则步骤804的尝试页面层还原在步骤806失败之后,DRS将:(a)通过接收受损坏页面的PageID并如前所述确定页面类型,在步骤808确定所损坏的页面类型(并且给定一数据页面损坏,DRS并非必须进行尝试访问该页面的其它事务处理);(b)在步骤810,取得所丢失ItemID的范围(启动Tx,运行DBCC CHECKTable(table,REPAIR_ALLOW_LOSS)),这从非集聚索引中返回所有不匹配集聚索引键的所有索引键,且非集聚索引键包含ItemId,所以DRS可提取它们并将其写入内部表格;以及(c)在步骤812,将ItemId和表格名称传递给WCC(其中WCC修复那些ItemId并检查存储器中其余值)以确保DBFS是一致的,并提交Tx以使DRS能放弃并重新尝试这些恢复。如果有一系列遭损坏页面,则DRS在切断它们作进一步处理(诸如通过从备份中还原所述页面)之前从所有遭损坏页面中指出所有ItemID。
因为DRS可确保如果页面层还原工作则没有用户数据会丢失,所以DRS仅需在名义上通知用户,因为在进行页面层还原时用户极可能仅注意到比期望略慢的响应。在某些实施例中,用户将不接收任何通知(因为这最多只花几秒);然而。对于其它选择性实施例,DRS将作“事件”记录,以捕捉DRS还原页面的事实。在最差情形中,其中对要还原的页面进行未完成的活动处理,数据库将必须分离并重新启动(以便运行崩溃恢复),因而与数据库的所有连接将终止。应用程序应已被设计成知道此可能性;然而这可导致设计较差的应用程序“中止”。因而本发明的某些实施例向用户通知可导致这种事件的情形,以便使用户能关闭所有的这类应用程序来避免这种不需要的结果。
示例终端用户体验
为了示出DRS的操作,以下示出一些情形,它们一般表征用户体验以及DRS所做的用户不可见的事情。
索引损坏:
Abbey正在执行WindFS查询,以找出她在上个星期修改的所有文档。在该查询期间,WinFS通知它花了比平常略长的时间。实际上某些随后她的查询也略为缓慢。然后她注意到她的任务栏上有一个小气球。该气球报告在她机器上发现一可靠性问题,并请在Windows修复这些错误时耐心等待。过了一会儿,另一个气球出现,并通知Abbey索引已经成功重建。当Abbey注意到她的计算机现在看起来执行得更好时,她很高兴。
在幕后,DRS检测并修复了索引损坏。它使得索引离线(因此执行较慢)、重建之、并使其恢复在线。
损坏页面写入:
在雷雨期间,Toby在写家庭作业—一篇有关Adam Smith的文章,并定期存盘。在约完成90%时,Toby整个家停电了。Toby没有在便携式电脑上工作,并且没有备用电池。幸运地是,约30分钟后电恢复正常。Toby登录到计算机上并尝试打开他的文章。他挠挠头,因为看起来比平常花的时间要长一些。
在幕后发生的是,Toby文章的文档项受到损坏,因为停电导致他硬盘驱动器的页面写入遭损坏。当DBFS重新启动时,DRS检测到该数据页面损坏,并尝试恢复该数据。DRS自动地尝试从自动瞬象中还原数据页面。因为Toby定期存盘了,所以在最近瞬象中有该文章的副本。因此,DBFS能够自动还原遭损坏的页面。
比特毁坏和扇区损坏
Susan喜欢她的数字照相机,在过去2年中她拍摄了5800多张她的孩子们的照片。当然在5800张中她在计算机上的WinFS中保存了超过3000张。不幸地是,保存了这些珍贵照片的硬盘驱动器已经损坏了盘上的少量扇区。这些遭损坏的扇区现在已损坏了10张Susan的照片。当Susan尝试查看这些照片时,她获得来自操作系统外壳的错误,并得到提示要从备份中还原这些照片。Susan遵从提示,找到她的备份媒体(zip盘),然后从盘上还原这些项。
在幕后,DBFS正在尝试页面层还原。然而因为这些照片(从来)未曾修改,它们不在最新的瞬象中,因而对该特定实施例而言提示Sunsan置入(仅这些项的)备份是必要的。
结论
在此所述的各种系统、方法和技术可结合硬件或软件,或在适当时结合两者的组合来实现。因而,本发明的方法和装置,或者其中的某些方面和部分,可取诸如软盘、CD-ROM、硬盘驱动器、或任何其它机器可读存储介质的有形介质中包含程序代码(即指令)形式,其中当程序代码由诸如计算机的机器载入并执行时,该机器成为用于实践本发明的装置。在可编程计算机上的程序代码执行情形中,计算机通常包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、和至少一个输出设备。一个或多个程序最好用高级过程或面向对象的编程语言来执行,以便与计算机系统通信。然而,如果需要程序也可用汇编或机器语言来实现。无论如何,语言可以是编译或解释语言,并与硬件实现相组合。
本发明的各个方法和装置还可以经某些传输媒体传输的程序代码形式来实现,这些传输媒体诸如经电线或电缆、通过光纤、或通过任何其它形式的传输,其中当程序代码由诸如EPROM、门阵列、可编程逻辑设备(PLD)、客户计算机、摄像机等的机器接收、载入并执行时,机器变成用于实践本发明的装置。当在通用处理器上实现时,程序代码与处理器组合以提供进行操作来执行本发明的索引功能的唯一装置。
尽管本发明结合各个附图的较佳实施例进行了描述,但是可以理解,也可使用其它类似实施例,或者可对所述实施例作修改和添加,用于执行本发明的相同功能而不背离本发明。例如,尽管本发明的示例性实施例在仿真个人计算机功能的数字设备环境中描述,但是本领域技术人员将理解,本发明并不限于这些数字设备,如所述本申请可应用于任何数量的现有或新兴的计算装置或环境,诸如有线或无线的游戏控制台、手持式计算机、便携式计算机等,并可应用于任何数量的经通信网络连接并在网络上交互作用的这类计算装置。此外,应强调这里可预期各种各样的计算机平台,包括手持式设备的操作系统以及其它应用程序专用的硬件/软件接口系统,特别是当无线网络化装置的数量持续激增时。因此,本发明应不限于任何单个实施例,而应解释为在根据所附权利要求的宽度和范围内。

Claims (30)

1.一种用于数据库文件系统(DBFS)的自动化数据可靠性系统(DRS),所述DRS包括:
一组策略,用于执行数据库管理(DBA)任务;
一个子系统,用于对页面层上的一组数据损坏作出响应;
一个用于第一层恢复的子系统,用于尝试修复遭损坏的页面;以及
一个用于第二层恢复的子系统,用于在所述遭损坏页面不能修复时尝试重建或还原遭损坏的页面。
2.如权利要求1所述的系统,其特征在于,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址索引页面损坏的子系统。
3.如权利要求1所述的系统,其特征在于,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址数据页面损坏的子系统。
4.如权利要求1所述的系统,其特征在于,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址日志文件中的页面损坏的子系统。
5.如权利要求1所述的系统,还包括一个接口,用于从以下功能组合中添加、删除、以及修改至少一个功能:错误和事件通知、策略、以及错误/事件处理算法。
6.如权利要求1所述的系统,其特征在于,所述DRS作为背景线程进行操作。
7.一种用于附加用于数据库文件系统(DBFS)的数据存储器并使其在线的系统,所述系统包括:
一子系统,用于附加所述数据存储器;
一子系统,用于运行崩溃恢复并尝试使所述数据存储器在线;
一子系统,用于确定对使得所述数据存储器在线的尝试是否没有成功;
一子系统,用于评估与所述数据存储器相关联的数据库,以确定所述数据库是否事务处理一致;
一子系统,用于在所述数据库事务处理地一致时延迟修复直到所述崩溃恢复完成。
8.如权利要求7所述的系统,还包括一子系统,它尝试页面层还原,且如果所述页面层还原失败,则确定所述失败是否由于索引页面,并且如果是,则在对使所述数据存储器在线的尝试不成功时以及当数据库事务处理地一致时重建所述索引页面。
9.如权利要求7所述的系统,还包括一子系统,它在对使所述数据存储器在线的尝试不成功时以及当所述数据库未事务处理地一致时,使所述数据库离线并尝试紧急修复。
10.一种用于解决在对附于数据库文件系统(DBFS)的遭损坏数据存储器的处理期间查询引擎所遭遇错误的系统,所述系统包括:
一子系统,用于放弃所述处理并尝试页面层还原;以及
一子系统,用于确定所述页面层还原是否失败或不可用,还包括:
一子系统,用于在失败是由于索引页面时尝试索引恢复;
一子系统,用于在失败是由于数据页面时尝试数据页面恢复;
一子系统,用于在失败是由于日志页面错误时尝试紧急修复;以及
一子系统,用于在失败是由于不可恢复错误时尝试还原整个数据库。
11.一种用于数据库文件系统(DBFS)的自动化数据可靠性系统(DRS)的方法,所述方法包括:
建立用于执行数据库管理(DBA)任务的策略;
用于对在页面层上的所有页面类型的一组数据损坏作出响应;
通过尝试修复遭损坏的页面,执行第一层恢复;以及
通过在所述遭损坏页面不能修复时尝试重建或还原遭损坏的页面,执行第二层恢复。
12.如权利要求11所述的方法,其特征在于,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址索引页面损坏的子系统。
13.如权利要求11所述的方法,其特征在于,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址数据页面损坏的子系统。
14.如权利要求11所述的方法,其特征在于,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址日志文件中的页面损坏的子系统。
15.如权利要求11所述的方法,还包括一个接口,用于从以下功能组合中添加、删除、以及修改至少一个功能:错误和事件通知、策略、以及错误/事件处理算法。
16.如权利要求11所述的方法,其特征在于,所述DRS作为背景线程进行操作。
17.一种用于附加用于数据库文件系统(DBFS)的数据存储器并使其在线的方法,所述方法包括:
附加所述数据存储器;
运行崩溃恢复并尝试使所述数据存储器在线;以及
如果使得所述数据存储器在线的尝试没有成功,评估与所述数据存储器相关联的数据库,以确定所述数据库是否事务处理地一致,且如果是,则延迟修复直到所述崩溃恢复完成并继续所述崩溃恢复。
18.如权利要求17所述的方法,其特征在于,对使所述数据存储器在线的尝试不成功,且其中所述数据库事务处理地一致,且其中所述修复被延迟直到所述崩溃恢复完成,所述方法还包括尝试页面层还原,并且如果所述页面层还原失败,则确定所述失败是否由于索引页面,并且如果是,重建所述索引页面。
19.如权利要求17所述的方法,其特征在于,对使所述数据存储器在线的尝试不成功,且其中所述数据库未事务处理一致,所述方法还包括使所述数据库离线并尝试紧急修复。
20.一种用于解决在对附于数据库文件系统(DBFS)的遭损坏数据存储器的处理期间查询引擎所遭遇错误的方法,所述方法包括:
放弃所述处理并尝试页面层还原;以及
如果所述页面层还原失败或不可用,则:
如果失败是由于索引页面,则尝试索引恢复;
如果失败是由于数据页面,则尝试数据页面恢复;
如果失败是由于日志页面错误,则尝试紧急修复;以及
如果失败是由于不可恢复错误,则尝试还原整个数据库。
21.一种包括计算机可读指令的计算机可读媒体,所述计算机可读指令用于数据库文件系统(DBFS)的自动化数据可靠性系统(DRS),所述计算机可读指令包括各种指令,用于:
执行数据库管理(DBA)任务;
对在页面层上的所有页面类型的一系列数据损坏作出响应;
通过尝试修复遭损坏的页面,执行第一层恢复;以及
通过在所述遭损坏页面不能修复时尝试重建或还原遭损坏的页面,执行第二层恢复。
22.如权利要求21所述的计算机可读指令,还包括指令,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址索引页面损坏的子系统。
23.如权利要求21所述的计算机可读指令,还包括指令,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址数据页面损坏的子系统。
24.如权利要求21所述的计算机可读指令,还包括指令,用于重建或还原遭损坏页面的进行第二层恢复的所述子系统包括一个用于寻址日志文件中的页面损坏的子系统。
25.如权利要求21所述的计算机可读指令,还包括指令,用于一个接口,以从以下功能组合中添加、删除、以及修改至少一个功能:错误和事件通知、策略、以及错误/事件处理算法。
26.如权利要求21所述的计算机可读指令,其特征在于,还包括指令,从而所述DRS作为背景线程进行操作。
27.一种包括计算机可读指令的计算机可读媒体,所述计算机可读指令用于附加用于数据库文件系统(DBFS)的数据存储器并使其在线,所述计算机可读指令包括各种指令,用于:
附加所述数据存储器;
运行崩溃恢复并尝试使所述数据存储器在线;
如果使得所述数据存储器在线的尝试没有成功,评估与所述数据存储器相关联的数据库,以确定所述数据库是否事务处理一致,且如果是,则延迟修复直到所述崩溃恢复完成并继续所述崩溃恢复。
28.如权利要求27所述的计算机可读指令,还包括指令,用于尝试页面层还原,且如果所述页面层还原失败,则确定所述失败是否由于索引页面,并且如果是,则在对使所述数据存储器在线的尝试不成功时以及当数据库不事务处理地一致时重建所述索引页面。
29.如权利要求27所述的计算机可读指令,还包括指令,用于在对使所述数据存储器在线的尝试不成功时以及当所述数据库未事务处理地一致时,使所述数据库离线并尝试紧急修复。
30.一种一种包括计算机可读指令的计算机可读媒体,所述计算机可读指令用于解决在对附于数据库文件系统(DBFS)的遭损坏数据存储器的处理期间查询引擎所遭遇错误,所述计算机可读指令包括:
放弃所述处理并尝试页面层还原;以及
如果所述页面层还原失败或不可用,则:
如果失败是由于索引页面,则尝试索引恢复;
如果失败是由于数据页面,则尝试数据页面恢复;
如果失败是由于日志页面错误,则尝试紧急修复;以及
如果失败是由于不可恢复错误,则尝试还原整个数据库。
CNB2004800123735A 2004-05-03 2004-07-29 用于自动数据库或文件系统维护和修复的系统和方法 Expired - Fee Related CN100570599C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/837,932 US7143120B2 (en) 2004-05-03 2004-05-03 Systems and methods for automated maintenance and repair of database and file systems
US10/837,932 2004-05-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2009101521325A Division CN101604335B (zh) 2004-05-03 2004-07-29 用于自动数据库或文件系统维护和修复的系统和方法

Publications (2)

Publication Number Publication Date
CN1784682A true CN1784682A (zh) 2006-06-07
CN100570599C CN100570599C (zh) 2009-12-16

Family

ID=35394801

Family Applications (4)

Application Number Title Priority Date Filing Date
CNB2004800123735A Expired - Fee Related CN100570599C (zh) 2004-05-03 2004-07-29 用于自动数据库或文件系统维护和修复的系统和方法
CN2009101521325A Expired - Fee Related CN101604335B (zh) 2004-05-03 2004-07-29 用于自动数据库或文件系统维护和修复的系统和方法
CN2008101762346A Active CN101430703B (zh) 2004-05-03 2005-05-08 用于数据模型中实体的自动维护与修复的系统和方法
CN2005100878407A Active CN1707481B (zh) 2004-05-03 2005-05-08 用于数据模型中实体的自动维护与修复的系统和方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2009101521325A Expired - Fee Related CN101604335B (zh) 2004-05-03 2004-07-29 用于自动数据库或文件系统维护和修复的系统和方法
CN2008101762346A Active CN101430703B (zh) 2004-05-03 2005-05-08 用于数据模型中实体的自动维护与修复的系统和方法
CN2005100878407A Active CN1707481B (zh) 2004-05-03 2005-05-08 用于数据模型中实体的自动维护与修复的系统和方法

Country Status (7)

Country Link
US (2) US7143120B2 (zh)
EP (1) EP1629407B1 (zh)
JP (1) JP4638908B2 (zh)
KR (1) KR101044849B1 (zh)
CN (4) CN100570599C (zh)
ES (1) ES2605936T3 (zh)
WO (1) WO2005111867A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100430902C (zh) * 2006-12-13 2008-11-05 天津理工大学 一种支持边服务边恢复的分布式实时数据库故障恢复方法
CN102239489B (zh) * 2008-12-05 2014-05-21 国际商业机器公司 访问多代数据库中的数据的方法和系统
CN104915336A (zh) * 2014-03-12 2015-09-16 腾讯科技(深圳)有限公司 文档翻译的方法及装置
CN104937556A (zh) * 2013-01-30 2015-09-23 惠普发展公司,有限责任合伙企业 恢复数据库的页面
WO2016065690A1 (zh) * 2014-10-30 2016-05-06 深圳市锐明视讯技术有限公司 一种文件系统多线程实现的方法及装置
CN106502825A (zh) * 2016-10-13 2017-03-15 中国联合网络通信集团有限公司 数据处理方法及装置
CN107402843A (zh) * 2017-06-19 2017-11-28 阿里巴巴集团控股有限公司 数据库损坏的恢复方法、装置和设备
CN110222035A (zh) * 2019-06-10 2019-09-10 天津神舟通用数据技术有限公司 一种基于异或校验与日志恢复的数据库页面高效容错方法

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
CA2564967C (en) 2004-04-30 2014-09-30 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7970740B1 (en) * 2004-09-23 2011-06-28 Oracle America, Inc. Automated service configuration snapshots and fallback
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US20060184528A1 (en) * 2005-02-14 2006-08-17 International Business Machines Corporation Distributed database with device-served leases
US9286346B2 (en) * 2005-02-18 2016-03-15 International Business Machines Corporation Replication-only triggers
US8037056B2 (en) 2005-02-18 2011-10-11 International Business Machines Corporation Online repair of a replicated table
US7376675B2 (en) * 2005-02-18 2008-05-20 International Business Machines Corporation Simulating multi-user activity while maintaining original linear request order for asynchronous transactional events
US8214353B2 (en) * 2005-02-18 2012-07-03 International Business Machines Corporation Support for schema evolution in a multi-node peer-to-peer replication environment
US7676845B2 (en) * 2005-03-24 2010-03-09 Microsoft Corporation System and method of selectively scanning a file on a computing device for malware
US8145686B2 (en) * 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US7493347B2 (en) * 2005-06-02 2009-02-17 International Business Machines Corporation Method for condensing reported checkpoint log data
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US7552147B2 (en) * 2005-09-02 2009-06-23 International Business Machines Corporation System and method for minimizing data outage time and data loss while handling errors detected during recovery
US7475277B1 (en) * 2005-11-10 2009-01-06 Storage Technology Corporation Automated repair of damaged objects
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US20080059469A1 (en) * 2006-08-31 2008-03-06 International Business Machines Corporation Replication Token Based Synchronization
US7921267B1 (en) * 2006-12-20 2011-04-05 Network Appliance, Inc. Method and system for fixing a mirror of a dataset
US20080249988A1 (en) * 2007-04-06 2008-10-09 International Business Machines Corporation Computer programming method and system for performing a reversal of selected structured query language operations within a database transaction
US20080298276A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Analytical Framework for Multinode Storage Reliability Analysis
US8001075B2 (en) * 2007-06-01 2011-08-16 Microsoft Corporation Log file amnesia detection
KR101635945B1 (ko) * 2007-07-26 2016-07-04 아브 이니티오 테크놀로지 엘엘시 에러 핸들링이 가능한 그래프 기반의 트랜잭션 연산 처리 방법 및 시스템
CN101772757B (zh) * 2007-08-21 2016-06-29 汤姆逊许可公司 用于修复受损硬盘文件系统的方法和系统
US8244671B2 (en) * 2007-10-11 2012-08-14 Microsoft Corporation Replica placement and repair strategies in multinode storage systems
US7904756B2 (en) 2007-10-19 2011-03-08 Oracle International Corporation Repair planning engine for data corruptions
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8176017B2 (en) * 2007-12-14 2012-05-08 Microsoft Corporation Live volume access
US8108356B2 (en) * 2007-12-24 2012-01-31 Korea Advanced Institute Of Science And Technology Method for recovering data in a storage system
US7805412B1 (en) * 2008-01-11 2010-09-28 Panasas, Inc. Systems and methods for parallel reconstruction of files and objects
US8892831B2 (en) * 2008-01-16 2014-11-18 Apple Inc. Memory subsystem hibernation
US8417893B2 (en) * 2008-02-04 2013-04-09 Apple Inc. Memory mapping techniques
US8380679B2 (en) * 2008-02-11 2013-02-19 Infosys Technologies Limited Method of handling transaction in a service oriented architecture environment
US20090307409A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Device memory management
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
KR100926098B1 (ko) * 2008-11-18 2009-11-11 주식회사 네오플 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치
US8468293B2 (en) * 2009-07-24 2013-06-18 Apple Inc. Restore index page
US8516219B2 (en) * 2009-07-24 2013-08-20 Apple Inc. Index cache tree
JP2011060217A (ja) * 2009-09-14 2011-03-24 Toshiba Corp データ蓄積装置及びデータ書込み/読出し方法
US8326902B2 (en) * 2009-10-07 2012-12-04 Oracle International Corporation Online database modeling
US8621267B2 (en) 2010-12-15 2013-12-31 Microsoft Corporation Extended page patching
US8667323B2 (en) * 2010-12-17 2014-03-04 Microsoft Corporation Proactive error scan and isolated error correction
US8621276B2 (en) 2010-12-17 2013-12-31 Microsoft Corporation File system resiliency management
US20130054533A1 (en) * 2011-08-24 2013-02-28 Microsoft Corporation Verifying a data recovery component using a managed interface
US8527462B1 (en) 2012-02-09 2013-09-03 Microsoft Corporation Database point-in-time restore and as-of query
CN103309768B (zh) * 2012-03-16 2015-03-11 腾讯科技(深圳)有限公司 系统文件修复方法和装置
US10346369B2 (en) * 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9292373B2 (en) * 2013-03-15 2016-03-22 International Business Machines Corporation Query rewrites for data-intensive applications in presence of run-time errors
EP3092557B1 (en) 2013-12-05 2024-03-27 AB Initio Technology LLC Managing interfaces for dataflow graphs composed of sub-graphs
US9400817B2 (en) * 2013-12-31 2016-07-26 Sybase, Inc. In-place index repair
US10102214B2 (en) * 2015-01-30 2018-10-16 International Business Machines Corporation Analyzing and correcting corruption which caused filesystem checker failure so that the filesystem checker will run without error
US10528530B2 (en) 2015-04-08 2020-01-07 Microsoft Technology Licensing, Llc File repair of file stored across multiple data stores
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10176036B2 (en) * 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US11727288B2 (en) 2016-10-05 2023-08-15 Kyndryl, Inc. Database-management system with artificially intelligent virtual database administration
US10909106B2 (en) * 2016-11-11 2021-02-02 Walmart Apollo, Llc Systems and methods for creating and maintaining referential integrity of data across multiple server systems
CN107016296B (zh) * 2017-01-18 2020-05-26 阿里巴巴集团控股有限公司 一种数据索引构建、数据读取的方法、装置及电子设备
US10936441B2 (en) * 2017-12-15 2021-03-02 Microsoft Technology Licensing, Llc Write-ahead style logging in a persistent memory device
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US11238017B2 (en) 2018-01-30 2022-02-01 Salesforce.Com, Inc. Runtime detector for data corruptions
CN108459925B (zh) * 2018-02-10 2022-05-31 深圳市先河系统技术有限公司 私有云设备及其数据库的修复方法、具有存储功能的装置
US11481376B2 (en) * 2018-06-19 2022-10-25 Salesforce, Inc. Platform for handling data corruptions
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US10915418B1 (en) 2019-08-29 2021-02-09 Snowflake Inc. Automated query retry in a database environment
US11467925B2 (en) 2020-01-30 2022-10-11 Rubrik, Inc. Exporting a database to a native database recovery environment
US11604761B2 (en) 2020-01-30 2023-03-14 Rubrik, Inc. Utilizing a tablespace to export from a foreign database recovery environment
US11360860B2 (en) 2020-01-30 2022-06-14 Rubrik, Inc. Exporting a database from a foreign database recovery environment
US11609828B2 (en) 2020-01-30 2023-03-21 Rubrik, Inc. Utilizing a tablespace to export to a native database recovery environment
US11934377B2 (en) * 2021-02-25 2024-03-19 Microsoft Technology Licensing, Llc Consistency checking for distributed analytical database systems
CN116662059B (zh) * 2023-07-24 2023-10-24 上海爱可生信息技术股份有限公司 MySQL数据库CPU故障诊断及自愈方法及可读存储介质

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US5900870A (en) * 1989-06-30 1999-05-04 Massachusetts Institute Of Technology Object-oriented computer user interface
US5764877A (en) * 1991-06-25 1998-06-09 Digital Equipment Corporation Media recovery with time-split B-trees
JPH0594353A (ja) * 1991-10-02 1993-04-16 Hokkaido Nippon Denki Software Kk データベース管理方式
JPH06236351A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd オンラインシステムのバックアップリストア装置
US6078925A (en) * 1995-05-01 2000-06-20 International Business Machines Corporation Computer program product for database relational extenders
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US5754782A (en) * 1995-12-04 1998-05-19 International Business Machines Corporation System and method for backing up and restoring groupware documents
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6112024A (en) * 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US5897638A (en) * 1997-06-16 1999-04-27 Ab Initio Software Corporation Parallel virtual file system
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6108004A (en) * 1997-10-21 2000-08-22 International Business Machines Corporation GUI guide for data mining
US6018746A (en) * 1997-12-23 2000-01-25 Unisys Corporation System and method for managing recovery information in a transaction processing system
US6205527B1 (en) * 1998-02-24 2001-03-20 Adaptec, Inc. Intelligent backup and restoring system and method for implementing the same
US6263342B1 (en) * 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
US6314433B1 (en) * 1998-06-12 2001-11-06 Hewlett-Packard Company Frame-based heroic data recovery
US6714935B1 (en) * 1998-09-21 2004-03-30 Microsoft Corporation Management of non-persistent data in a persistent database
US6519597B1 (en) * 1998-10-08 2003-02-11 International Business Machines Corporation Method and apparatus for indexing structured documents with rich data types
US6338056B1 (en) * 1998-12-14 2002-01-08 International Business Machines Corporation Relational database extender that supports user-defined index types and user-defined search
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6370534B1 (en) * 1999-06-01 2002-04-09 Pliant Technologies, Inc. Blocking techniques for data storage
US6247099B1 (en) * 1999-06-03 2001-06-12 International Business Machines Corporation System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers
US6199195B1 (en) * 1999-07-08 2001-03-06 Science Application International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
EP1330727A2 (en) * 1999-08-05 2003-07-30 Oracle Corporation Internet file system
US6370541B1 (en) * 1999-09-21 2002-04-09 International Business Machines Corporation Design and implementation of a client/server framework for federated multi-search and update across heterogeneous datastores
US6556983B1 (en) * 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6633978B1 (en) * 2000-03-31 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for restoring computer resources
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US6671699B1 (en) * 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
US6999956B2 (en) * 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US6721739B1 (en) * 2000-12-05 2004-04-13 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple pages
US6871271B2 (en) * 2000-12-21 2005-03-22 Emc Corporation Incrementally restoring a mass storage device to a prior state
US6877111B2 (en) * 2001-03-26 2005-04-05 Sun Microsystems, Inc. Method and apparatus for managing replicated and migration capable session state for a Java platform
US6697818B2 (en) * 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US6772178B2 (en) * 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
US7065527B2 (en) * 2002-06-26 2006-06-20 Microsoft Corporation Systems and methods of optimizing metadata publishing system updates by alternating databases
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100430902C (zh) * 2006-12-13 2008-11-05 天津理工大学 一种支持边服务边恢复的分布式实时数据库故障恢复方法
CN102239489B (zh) * 2008-12-05 2014-05-21 国际商业机器公司 访问多代数据库中的数据的方法和系统
CN104937556A (zh) * 2013-01-30 2015-09-23 惠普发展公司,有限责任合伙企业 恢复数据库的页面
CN104915336A (zh) * 2014-03-12 2015-09-16 腾讯科技(深圳)有限公司 文档翻译的方法及装置
WO2016065690A1 (zh) * 2014-10-30 2016-05-06 深圳市锐明视讯技术有限公司 一种文件系统多线程实现的方法及装置
CN106502825A (zh) * 2016-10-13 2017-03-15 中国联合网络通信集团有限公司 数据处理方法及装置
CN106502825B (zh) * 2016-10-13 2020-02-14 中国联合网络通信集团有限公司 数据处理方法及装置
CN107402843A (zh) * 2017-06-19 2017-11-28 阿里巴巴集团控股有限公司 数据库损坏的恢复方法、装置和设备
CN110222035A (zh) * 2019-06-10 2019-09-10 天津神舟通用数据技术有限公司 一种基于异或校验与日志恢复的数据库页面高效容错方法

Also Published As

Publication number Publication date
EP1629407A2 (en) 2006-03-01
CN100570599C (zh) 2009-12-16
US20070073764A1 (en) 2007-03-29
CN101430703B (zh) 2013-05-01
WO2005111867A3 (en) 2006-01-05
CN101604335A (zh) 2009-12-16
US20050278394A1 (en) 2005-12-15
EP1629407B1 (en) 2016-09-14
KR101044849B1 (ko) 2011-06-28
JP4638908B2 (ja) 2011-02-23
CN101604335B (zh) 2012-07-18
EP1629407A4 (en) 2008-05-21
ES2605936T3 (es) 2017-03-17
KR20070006542A (ko) 2007-01-11
JP2007536623A (ja) 2007-12-13
CN1707481A (zh) 2005-12-14
CN1707481B (zh) 2012-05-02
WO2005111867A2 (en) 2005-11-24
US7143120B2 (en) 2006-11-28
CN101430703A (zh) 2009-05-13

Similar Documents

Publication Publication Date Title
CN100570599C (zh) 用于自动数据库或文件系统维护和修复的系统和方法
CN101243446B (zh) 从数据库镜像进行在线页还原
US7366740B2 (en) Systems and methods for automatic maintenance and repair of enitites in a data model
CN102934114B (zh) 用于文件系统的检查点
JP6254606B2 (ja) バックアップシステムからのデータベースのストリーミング復元
CN108664359B (zh) 一种数据库恢复方法、装置、设备及存储介质
US9892142B2 (en) Maintaining index data in a database
US7395278B2 (en) Transaction consistent copy-on-write database
US20040163029A1 (en) Data recovery techniques in storage systems
EP1594062A2 (en) Real-time and non disruptive file system repairs
US20070174325A1 (en) Method and system for building a database from backup data images
US7975171B2 (en) Automated file recovery based on subsystem error detection results
JP2015503168A (ja) アプリケーションデータを復元するためのシステム及び方法
CN1752939A (zh) 用于综合备份和恢复的方法和系统
JP2006004031A (ja) データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム
CN1784676A (zh) 数据库数据恢复系统和方法
US20100185589A1 (en) Disaster recovery data sync
US20220342778A1 (en) Snapshot-based data corruption detection
US7296193B2 (en) Technique for processing an error using write-to-operator-with-reply in a ported application
CN1211745C (zh) 校验参照完整性中涉及的表空间的方法
WO2024076629A1 (en) Extended protection storage system put operation
US7801865B1 (en) System and method for providing access to a database during a recovery process

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: 20150504

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

Effective date of registration: 20150504

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: 20091216

Termination date: 20190729