SQL Server段落还原特性分析(上)

日期: 2009-11-09 作者:Baya Pavliashvili翻译:冯昀晖 来源:TechTarget中国 英文

每次发布软件新版本,微软都能在提高他们主数据库平台方面迈进一大步。SQL Server 2005是一款真正的企业级数据库平台,能够支持最大和最复杂数据库需要的扩展性和可用性。SQL Server 2005中引入的数据库可用性改善方面最吸引人的特性就是数据库段落还原功能,也就是接下来我要在本文中论述的内容。   SQL Server 备份类型   在我谈论SQL Server 2005备份和恢复功能方面的改进之前,请允许我讲述一下在所有版本的软件中普遍可用的三种主要的备份类型:   完全备份:对所有数据页做一个拷贝。

一个数据“页”就是一个基本存储单元。  差异备份:只对那些自上次完全备份以来发生……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

每次发布软件新版本,微软都能在提高他们主数据库平台方面迈进一大步。SQL Server 2005是一款真正的企业级数据库平台,能够支持最大和最复杂数据库需要的扩展性和可用性。SQL Server 2005中引入的数据库可用性改善方面最吸引人的特性就是数据库段落还原功能,也就是接下来我要在本文中论述的内容。

  SQL Server 备份类型

  在我谈论SQL Server 2005备份和恢复功能方面的改进之前,请允许我讲述一下在所有版本的软件中普遍可用的三种主要的备份类型:

  •   完全备份:对所有数据页做一个拷贝。一个数据“页”就是一个基本存储单元。
  •   差异备份:只对那些自上次完全备份以来发生改变的数据页进行拷贝。
  •   事务日志备份:对自上次完全备份,差异备份或者事务日志备份以后,产生的所有事务操作进行拷贝。

  典型的备份策略会综合利用这三种类型备份结合的好处。完全备份最简单,这种备份给你完整的数据快照;你的整个数据库可以通过一个完整的备份文件只需要一步操作就可以恢复。不幸的是,完全备份对于非常大的数据库来说不太切合实际。如果你数据库的一次完全备份需要花二十三个小时才能完成,那你就不能每天执行这种备份。一般来说,你在建立每日、每周或者每月完全备份时(取决于你的数据库大小),最好把事务日志备份和差异备份作为补充手段。

  差异备份很方便,因为这种备份只拷贝那些自上次完全备份以来发生改变的数据页。因此这种备份占据空间比完全备份要小得多。然而,要注意一次差异备份不能拷贝自上次差异备份以来的变化数据页(许多人都会误以为是这样);它是拷贝自上次“完全”备份以后的所有页变化。所以如果你在星期日做了一次完全备份,然后在这一周运行差异备份,那么星期一做的差异备份数据将不会比后面几天做的差异备份数据更大。要恢复数据库,你既需要完全备份文件,也需要差异备份文件。

  事务日志备份最大的意义在于它比完全备份和差异备份花的备份时间都要少;占用空间按也小的多。另一方面,要使用事务日志备份恢复数据库,你必须有一份完全备份,最后一次差异备份(如果你完全采用差异备份的话)和自最后一次完全备份或者最后一次差异备份以来的所有事务日志备份。

  文件组备份

  除了备份整个数据库,你还可以备份单个文件和文件组。一个文件组就是一个数据文件的集合。事务日志文件不属于任何文件组。每一个数据库包含一个主文件组。除了主文件组外,另外你可以创建一个或者多个次文件组。按照最佳实践,推荐你把所有用户定义的(非系统的)对象放到次文件组中。主文件组只应该用来保存系统对象。

  在该软件前面的版本中,你可以使用文件组备份有效地缩短你的备份时间。你可以备份数据库的一个子集,该操作花的时间会比备份整个数据库花的时间少的多。然而,在恢复数据库时,你一般必须恢复所有文件组才能使数据库对你的用户恢复可用状态。但是这种规则也存在例外,那就是部分恢复方案,这种恢复方案支持你只恢复主文件组和一个或多个二级文件组,就可以是数据库恢复到可用状态。

  然而,SQL Server 2000的这种部分恢复功能有两个缺点:

  •   它必须从一次完全数据库备份开始执行(你可以从完全备份中指定你希望选择哪个文件组)。你不能使用文件组备份执行部分恢复。
  •   一旦你恢复了数据库的子集,你不能在将来再恢复数据库的其他部分。因为“部分恢复”这个名称就表示了注定它只恢复一部分数据库。

  SQL Server 2005把部分恢复功能扩展成了段落还原。段落还原支持你利用文件组级别备份来恢复每一个文件组。此外,既然你的主文件组是可用的,用户可以在其他文件组正在恢复的过程中就可以恢复他们对数据库的使用活动。段落还原可以使你按你方便的时间表恢复整个数据库。

  在使用部分恢复或段落还原时,必须首先恢复主文件组,因为它包含了系统级的元数据;在之前的版本中元数据存储在系统表,而SQL Server 2005中系统表(比如:syscolumns,sysindexes等待)实现为视图了。他们也是不推荐使用的:要查询系统元数据,我们应该使用动态管理视图替代。次文件组可以以任意顺序恢复。

  请注意段落还原功能只有在SQL Server 2005企业版中才支持。下面的内容提供了一个执行段落还原的实际例子。

相关推荐