SQL Server 数据库恢复全解析
1. 验证过程与可疑页面记录
在数据库验证过程中,如果在出现错误后仍让其继续运行,它会将损坏的页面记录到 MSDB 数据库中的新表——SUSPECT_PAGE 表中。每次 VERIFYONLY 命令发现可疑页面时,都会向该表中添加一行记录,最多可记录 1000 次。若单个备份文件产生超过 1000 个可疑页面,那就意味着存在严重问题需要解决,而且 SQL Server 的设计者认为此时继续记录错误意义不大。
2. 数据页面恢复
从 SQL Server 2005 开始,可使用 RESTORE 命令替换单个数据页面,支持离线和在线两种模式。若在正常操作中发现可疑页面,可使用在线模式。要使页面级恢复取得一定成功,数据库必须处于完整恢复模式。虽然大容量日志恢复模式可能可行,但实际上不建议依赖该模式进行页面恢复。
可恢复的仅为实际的数据页面,此技术不适用于日志文件中的页面、全局分配映射(GAM)页面、辅助全局分配映射(SGAM)页面或页面空闲空间(PFS)页面,仅与特定表或索引关联的数据页面适用。
恢复过程类似于完整恢复。确定要恢复的页面 ID 后,即可开始完整恢复,并仅指定需要替换的页面 ID。务必应用所有事务日志备份(包括尾日志备份),因为在完整备份之后,要恢复的页面可能已发生更改。示例代码如下:
RESTORE DATABASE AdventureWorks PAGE '20:1570,20:1571,20:1572'
FROM DISK='D:\SQLBackups\AWFull.bak'
WITH NORECOVERY;
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



