当前位置: 首页 > 专利查询>微软公司专利>正文

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

技术编号:3914748 阅读:201 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于自动数据库或文件系统维护和修复的系统和方法。本发明专利技术一般涉及数据库和文件系统管理,尤其涉及自动数据库和文件系统维护和修复,以确保数据可靠性。本发明专利技术的各个方面涉及响应并校正在数据页面层上对所有数据页面类型的数据损坏,以及各种情形的恢复(包括重建或还原操作),包括但不限于索引页面损坏(集聚的和非集聚的)、数据页面损坏、以及日志文件中的页面损坏。

【技术实现步骤摘要】

本专利技术一般涉及数据库和文件系统管理,尤其涉及自动数据库和文件系统维护和修复,以确保数据可靠性。本专利技术的各个方面涉及响应并在数据页面层上对所有数据页面类型校正数据损坏,以及各种情形的恢复(包括重建或还原操作),包括但不限于索引页面损坏(集聚的和非集聚的)、数据页面损坏、以及日志文件中的页面损坏。
技术介绍
尽管客户机数据库平台(即家用和商用台式计算机)使用的硬件质量比服务器平台的低得多,但是甚至服务器类的硬件(控制器、驱动器、盘等等)仍然可导致数据损坏,从而读取操作不能返回应用程序写到数据存储器中的内容。当然,出于各种原因客户机数据库平台(与服务器数据库平台相对)的问题显然更多,包括但不限于,客户机在写操作中期因意外停电而被任意断电的可能性增加,从而导致受损页面和可能的数据库损坏。(对服务器数据库系统而言较常见的是利用不中断电源来减轻因停电导致的问题。)媒体衰退是数据库损坏的另一种来源,其中物理存储媒体确实会随时间而磨损。有关可靠性的关心的又一种来源是检测由因疏忽(例如程序错误(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 Longhom"或简称为"Longhorn"),后者是先前所述许多相关专利申请的主要主题。如上所述,SQLServer结合了 Microsoft .NET公共语言运行时间(CLR),以使受管理代码能被编写并执行,来对SQL Server数据库的数据存储器进行操作。尽管以下所述的实施例在该环境中操作,但是可以理解本专利技术决不受限于SQL Server产品中的实现。相反,本专利技术可在支持面向对象编程代码的执行以在数据库存储器上操作的任何数据库系统中实现,诸如面向对象的数据库系统和具有对象关系扩展的关系数据库系统。因此,可以理解,本专利技术并不限于以下所述的特定实施例,而是旨在包括在由所附权利要求限定的本专利技术精神和范围内的所有修改。计算机环境本专利技术的许多实施例可在计算机上执行。图1和下面的讨论旨在提供其中可实现本专利技术的合适计算环境的简要描述。尽管并非必须,本专利技术能在计算机可执行指令的通用环境中描述,诸如由比如客户工作站或服务器的计算机所执行的程序模块。通常,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将会理解本专利技术可用其它计算机系统配置实践,包括手持式装置、多处理器系统本文档来自技高网
...

【技术保护点】
一种用于附加用于数据库文件系统的数据存储器并使其在线的系统,所述系统包括: 用于附加所述数据存储器的子系统; 用于运行崩溃恢复并尝试使所述数据存储器在线的子系统; 用于确定对使得所述数据存储器在线的尝试是否没有成功的子系统 ; 用于评估与所述数据存储器相关联的数据库以确定所述数据库是否事务处理一致的子系统; 用于在所述数据库事务处理地一致时延迟修复直到所述崩溃恢复完成的子系统。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:AA欧克斯HR科达瓦拉MJ斯利曼
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1