执行页面还原

https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms175168(v=sql.105)

本主题与使用完整恢复模式或大容量日志恢复模式的 SQL Server 数据库相关。只有读/写文件组支持页面还原。

页面还原的目的是还原一个或多个损坏的页,而不还原整个数据库。通常,要进行还原的页已经由于在访问该页时遇到错误而标记为“可疑”。可疑页在 msdb 数据库的 suspect_pages 表中进行了标识。

注意

并非所有的页面错误都需要还原。缓存数据(例如辅助索引)中可能出现的问题可以通过重新计算这些数据来解决。例如,如果数据库管理员删除一个辅助索引,然后再重新生成一个辅助索引,则损坏的数据虽然已修复,但并没有在 suspect_pages 表中反映出这一情况。

可以立即还原多个数据库页。日志文件备份应用于包含要恢复的页的所有数据库文件。与文件还原中一样,每次传递日志重做,前滚集都会前进一步。

页面还原用于修复隔离的损坏页。还原和恢复少量页面的速度可能比还原一个文件更快,因此减少了还原操作中处于脱机状态的数据量。然而,如果文件中要还原的不只是少量页面,则通常还原整个文件更为有效。例如,如果某个设备上的大量页都指出此设备有未解决的故障;不妨考虑还原该文件(可以还原到另一位置)并修复该设备。

页面还原方案

SQL Server 2005 和更高版本的所有 Edition 都支持在数据库脱机时还原页面(“脱机页面还原”)。在 SQL Server 2005 Enterprise Edition 和更高版本中,如果页面还原过程中数据库处于联机状态,则数据库将保持联机状态。在数据库处于在线状态时还原和恢复页面的行为称作“在线页面还原”。

这些页面还原方案包括:

  • 脱机页面还原

    SQL Server 2005 Standard、SQL Server 2005 Express Edition 和 SQL Server 2005 Workgroup 及更高版本仅支持脱机还原。如果数据库已经处于脱机状态,则 SQL Server 2005 Enterprise Edition 及更高版本将使用脱机还原。在脱机还原页过程中,还原损坏的页时数据库处于脱机状态。还原顺序结束时,数据库将联机。

    为了成功还原页面,已还原的页必须恢复到与数据库一致的状态。必须将不中断的日志备份链应用于最后一次完整或差异还原,以便让包含该页的文件组前进到当前的日志文件。

  • 联机页面还原

    在 SQL Server 2005 Enterprise Edition 和更高版本中,情况允许时,会自动执行联机页面还原。大多数情况下,可以在数据库(包括页面要还原到的文件组)保持在线状态时还原损坏的页。联机页面还原对于因硬件错误而损坏的页尤其有用。

    有时,损坏的页需要脱机还原。例如,某些重要的页发生损坏可能会使数据库无法启动。在这类情况下,必须采用脱机还原。

    注意

    联机还原会尝试更新元数据,如果涉及重要的页面,则该更新可能会失败。如果联机还原尝试失败,则必须执行脱机还原。

页面还原利用了 SQL Server 2005 和更高版本中改进的页级错误报告(包含页校验和)和跟踪。通过校验和或残缺写操作检测为已损坏的页(“损坏页”)可以通过在 RESTORE 语句中指定这些页进行还原。页面还原仅适用于还原损坏的页数量较少的情况。RESTORE 语句中指定的每个页将由指定备份集中的页替换。还原的页必须恢复到与数据库一致的状态。仅还原显式指定的页。

页面还原的限制

仅可以还原数据库页。页面还原不能用于还原下列内容:

  • 事务日志

  • 分配页:全局分配映射 (GAM) 页、共享全局分配映射 (SGAM) 页和页可用空间 (PFS) 页。有关详细信息,请参阅管理区分配和可用空间。

  • 所有数据文件的页 0(文件启动页)

  • 页 1:9(数据库启动页)

  • 全文目录

如果无法还原单个页,则必须使用现有的完整数据库备份或者完整文件,或文件组备份。

注意

如果要还原的页具有特殊用途(如元数据页),则联机页面还原将失败。在这些情况下,请尝试脱机页面还原。

还原页的要求

页面还原需要符合下列要求:

  • 数据库必须使用完整恢复模式或大容量日志恢复模式。使用大容量日志恢复模式时存在一些问题。有关详细信息,请参阅以下部分。

  • 只读文件组中的页无法还原。在正在还原文件组中的页的情况下,尝试将该文件组设置为只读会失败。

  • 还原顺序必须从完整备份、文件备份或文件组备份开始。

  • 页面还原需要截止到当前日志文件的连续日志备份,并且必须应用所有这些备份,页才能恢复到当前日志文件的状态。

  • 与在文件还原顺序中一样,您可以在每个还原步骤中向前滚集中添加更多的页。

  • 数据库备份和页面还原不能同时运行。

大容量日志恢复模式和页面还原

对于使用大容量日志恢复模式的数据库,页面还原还有下列附加条件:

  • 对大容量日志数据而言,在文件组或页数据处于脱机状态时进行备份是有问题的,因为日志中不记录脱机数据。任何脱机页都可能导致无法备份日志。在这种情况下,则应考虑使用 DBCC REPAIR,因为此方式导致的数据丢失少于还原到最近备份引起的数据丢失。

  • 如果大容量日志数据库的日志备份遇到错误页,除非指定了 WITH CONTINUE_AFTER_ERROR,否则将失败。

  • 通常,页面还原不能与大容量日志恢复模式配合使用。

    执行页面还原的最佳做法是将数据库设置为完整恢复模式,并尝试进行一次日志备份。如果可以进行日志备份,则可以继续进行页面还原。如果日志备份失败,则您将不得不丢失上一个日志备份之后的工作,或必须尝试运行 DBCC(必须使用 REPAIR_ALLOW_DATA_LOSS 选项)。

基本页面还原语法

若要在 RESTORE DATABASE 语句中指定一页,需要知道该页所在文件的文件 ID 和该页的页 ID。所需语法如下:

RESTORE DATABASE database_name

PAGE ='file:page [ ,...n ]' [ ,...n ]

FROM <backup_device> [ ,...n ]

WITH NORECOVERY

有关 PAGE 选项的参数的详细信息,请参阅 RESTORE 参数 (Transact-SQL)。有关 RESTORE DATABASE 语法的详细信息,请参阅 RESTORE (Transact-SQL)。

页面还原的过程

页面还原的基本步骤如下:

  1. 获取要还原的损坏页的页 ID。校验和或残缺写错误将返回页 ID,并提供指定页所需的信息。若要查找损坏页的页 ID,请使用下列任一来源。

    页 ID 源

    主题

    msdb..suspect_pages

    了解和管理 suspect_pages 表

    错误日志

    查看 SQL Server 错误日志

    事件跟踪

    监视事件

    DBCC

    DBCC (Transact-SQL)

    WMI 提供程序

    WMI Provider for Server Events 的概念

  2. 从包含页的完整数据库备份、文件备份或文件组备份开始进行页面还原。在 RESTORE DATABASE 语句中,使用 PAGE 子句列出所有要还原的页的页 ID。

    PAGE ='file:page [ ,...n ]'

  3. 应用最近的差异。

  4. 应用后续日志备份。

  5. 创建新的数据库日志备份,使其包含已还原页的最终 LSN,即最后还原的页脱机的时间点。设置为顺序中首先还原的最终 LSN 是重做目标 LSN。包含该页的文件的联机前滚可以在重做目标 LSN 处停止。若要了解文件的当前重做目标 LSN,请查看 sys.master_files 的 redo_target_lsn 列。有关详细信息,请参阅 sys.master_files (Transact-SQL)。

  6. 还原新的日志备份。应用这个新的日志备份后,就完成了页面还原,可以开始使用页了。

注意

此顺序与文件还原顺序类似。事实上,页面还原和文件还原都可以在相同的顺序中执行。

示例

以下示例使用 NORECOVERY 还原文件 B 的四个损坏页。随后,将使用 NORECOVERY 应用两个日志备份,然后是结尾日志备份(使用 RECOVERY 还原)。

重要提示

如果损坏的页存储了重要的数据库元数据,则可能必须执行脱机页面还原顺序。若要执行脱机还原,则必须使用 WITH NORECOVERY 备份事务日志。

以下示例执行联机还原。此示例中,文件 B 的文件 ID 为 1,损坏的页的页 ID 分别为 57、202、916 和 1016。

复制
RESTORE DATABASE <database> PAGE='1:57, 1:202, 1:916, 1:1016'FROM <file_backup_of_file_B> WITH NORECOVERY;
RESTORE LOG <database> FROM <log_backup> WITH NORECOVERY;
RESTORE LOG <database> FROM <log_backup> WITH NORECOVERY;
BACKUP LOG <database> TO <new_log_backup>
RESTORE LOG <database> FROM <new_log_backup> WITH RECOVERY;
GO

请参阅

参考

RESTORE (Transact-SQL)

概念

应用事务日志备份

了解和管理 suspect_pages 表

了解 SQL Server 中备份的还原和恢复工作方式

转载于:https://www.cnblogs.com/jinanxiaolaohu/p/9561724.html

[微软官网] SQLSERVER 执行页面还原相关推荐

  1. 20200224在微软官网下载WIN10专业版的步骤

    20200224在微软官网下载WIN10专业版的步骤 2020/2/24 24 22:27 百度搜索:下载 windows10 选择:立即下载工具 安装:MediaCreationTool1909.e ...

  2. 通过WHQL认证的产品可以在微软官网查询了

    通过WHQL认证的产品可以在微软官网查询了 微软正式容重的宣布Windows兼容产品列表上线了! 这意味着所有通过WHQL认证的产品都可以在微软的官网查询到. 可以通过如下链接查询已经通过WHQL的产 ...

  3. 如何在微软官网下载原版Win11镜像iso文件

    Windows 11是微软公司最新的操作系统,它带来了许多新功能和改进,包括重新设计的用户界面.更好的性能.增强的安全性.新的多任务处理功能以及更好的触摸支持等. 想要体验Win11系统功能,最好使用 ...

  4. lightroom最新版本下载_win10系列之如何最快速从微软官网下载最新版本iso映像

    认准官方网站 关于下载资源,很多人可能还在用百度搜索,稍有不慎可能就会误入歧途,甚至中招病毒木马.下面是百度.必应国内.谷歌搜索win10下载关键词的对比结果,没想到微软亲儿子必应在国内也把win10 ...

  5. C#编程语言之读取网页内容(微软官网方法)

    微软官网方法,绝对经典: public static byte[] GetURLContents(string url){// The downloaded resource ends up in t ...

  6. 微软官网真的是一个神奇的地方,高清壁纸,直接下载

    目标网址:https://wallpapers.microsoft.design/ 微软官网真的是一个神奇的地方,今天浏览发现里面竟然还藏着一个超清高质量壁纸板块,实在是太喜欢里面的壁纸风格,虽然不是 ...

  7. VS2010 Ultimate 微软官网免费下载 VS2010终级版

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! VS20 ...

  8. 从微软官网下载原版Windows10

    从微软官网下载原版Windows10 准备:16G优盘.电脑 一.从浏览器进入微软官网 Windows10下载链接 二.点击立即下载工具 三.选择保存路径下载 四.双击下载的软件 打开软件后,选择接受 ...

  9. 学院官网项目三级页面总结

    学院官网项目三级页面总结 (撰写时间:2019年7月6作者:李梦熙) 这个六月我来到了这个项目班,在这一个多月的时间里,虽然有时候还是不知道去做些什么,但是我在这里也学习到了很多项目管理和分配工作之类 ...

  10. 怎么在微软官网找到visual studio历史版本

    标题怎么在微软官网找到visual studio历史版本 ***首先进入微软官网https://www.microsoft.com/zh-cn/点击所有Microsoft下的visual studio ...

最新文章

  1. 用 Dagger 2 实现依赖注入
  2. 命令行mvn打包的时候报错:No compiler is provided in this environment. Perhaps you are running on a JRE
  3. 全球服务器系统市场份额,IDC发布2017年第一季度全球融合系统报告 超融合市场最火爆...
  4. hibernate查询缓存_在Hibernate中启用实体和查询缓存
  5. FinePrint双面打印设置
  6. 在c语言中的变量分为三种类型,在C语言中的实型变量分为两种类型
  7. 在 sys.servers 中找不到服务器 '******'。请验证指定的服务器名称是否正确。
  8. 逍遥书生服务器啥时候维护完毕,《逍遥西游2》12月8日服务器维护公告
  9. [OfficeExcel] OfficeExcel2010 第20-22讲 Excel图表
  10. 科技爱好者周刊(第 141 期):封闭系统的胜利
  11. Soft Labels for Ordinal Regression阅读笔记
  12. 从简历被拒到收割今日头条offer经验总结
  13. javascript制作钟表
  14. 基于人脸识别的智能服饰搭配小程序
  15. Handler的理解
  16. ​pypandoc库实现文档转换​
  17. 干货|ACCA F2经济订货批量(EOQ)
  18. 简述P2P、P2C、O2O、B2C、B2B、C2C 的区别
  19. Ivan the Fool and the Probability Theory(思维+dp)
  20. 十二、Redis持久化之AOF原理

热门文章

  1. 目标检测(二十二)--R-FCN
  2. 50Hz工频干扰消除
  3. MCU —— 数码管显示笔记
  4. PAT (Basic Level) Practice1012 数字分类
  5. Android逆向系列之ARM语法篇
  6. 通信业正面临一场巨变,要么滚蛋要么改变
  7. 如何通过git客户端上传项目到github上
  8. HTML中常见的其它标签
  9. 关于突然不能上网的问题的解决
  10. 基于Linux的系统的文件/文件夹的权限