使用 Microsoft SQL Server 2005 或 2008 执行脱机损坏页面还原

Microsoft SQL Server 2005 和 2008 能够检测数据库中的数据损坏的时间,并能在数据页面级别隔离损坏。 您可以随时在系统数据库 [msdb] 的 [suspect_pages] 表中找到已知损坏页面的当前列表。 除了损坏页面检测和隔离,SQL 2005 还引入了仅在已损坏且被覆盖的数据页面中执行还原的功能。 通过此功能,您可以使轻微受损的数据库快速回归正常。

注意:启动此过程前,请使数据库脱机。

使用 Microsoft SQL Server 2005 执行脱机损坏页面还原

  1. 如果数据库使用简单恢复模型,请更改到完全恢复模型。
  2. (可选)对数据库执行数据库一致性检查 (DBCC CheckDB),以查找已报告的损坏页面外的任何其他损坏页面。 此操作可作为步骤 #4 的一部分来完成。
  3. 断开使用该数据库的所有客户端。 (否则,以下步骤将失败。)
  4. 使用“仅备份日志结尾并使数据库保持无恢复模式(日志结尾)”选项执行事务日志备份。 如果尚未单独执行步骤 2,您还应该选择“备份前检查数据库一致性”选项和“DBCC 失败时继续执行备份”选项。
  5. 执行数据库的脱机损坏页面修复还原,如下所示:
    1. 打开还原管理器。
    2. 在“源”选项卡上使用“按树还原”视图来查找并选择数据库。
    3. 打开“代理选项”。
    4. 确认选择了“自动选择”。
    5. 在“子集”下,选择“损坏页面修复 – 脱机”。
    6. 在“恢复完成状态”下,选择“继续运行数据库”。
    7. (可选)您可以选择在还原后进行数据库一致性检查。
    8. 单击确定。
    9. 在“目标”选项卡上,选择“还原到原始位置”(如果未选择)。
    10. 提交还原作业。
  6. 如果在步骤 1 中更改了恢复模型,请将其更改为简单恢复模型。
  7. 继续使用该数据库。