还原是从备份复制数据并将事务日志应用到数据以使其前滚到目标恢复点的过程。备份包含充足的事务日志记录,在每个备份的还原过程中用于前滚活动事务。每个备份还包含充足的事务日志,以回滚任何未完成的事务,将数据库恢复到一致的可使用状态。前滚未完成的事务(如有)并使数据库在线的过程被称为恢复。
任何还原过程的第一阶段都是数据复制阶段。数据复制阶段涉及将所有数据、日志和索引页面从备份介质复制到数据库文件。此阶段涉及从一个或多个以下备份类型复制数据:
• |
• |
• |
• |
完整文件和文件组(仅限 Windows) |
• |
差异文件和文件组(仅限 Windows) |
• |
部分数据库(仅限 Windows) |
• |
差异部分数据库(仅限 Windows) |
重做是将已记录的更改重新应用到前滚集中的数据以使该数据及时前滚的过程。要完成重做,SQL Server 数据库引擎会在事务日志备份还原后对其进行处理。引擎启动时,数据复制备份中包含的日志在上述主题和随后还原的任何增量事务日志备份中列出。前滚操作在恢复点处停止;此点是日志末端或 SQL Server 还原选项中为增量事务日志备份指定的点。Plug‑in for SQL Server支持基于时间和基于标记事务的 PIT 恢复。
要想成功还原,您必须充分了解可供使用的还原类型。本主题概述不同恢复模式支持的可能的还原情形。
• |
完整数据库还原:对于简单恢复模式数据库,完整数据库还原的目标是还原整个数据库。这种类型的还原通常涉及还原完整数据库备份,或在还原完整数据库备份后还原差异数据库备份。整个数据库在完整数据库还原过程中离线。 |
• |
• |
数据库部分还原(仅限 Windows):简单恢复模式数据库的部分还原包括还原部分数据库或差异部分数据库备份中包含的主要文件组和所有读/写文件组。如果只读文件组受损,只需要还原具有完整文件和文件组备份的只读文件组。 |
• |
完整数据库还原:在完整和批量记录恢复模式下,其目标是将整个数据库还原至故障点。完整的还原序列通常包括: |
1 |
执行 Tail-Log 备份。 |
2 |
3 |
4 |
5 |
• |
文件还原(仅限 Windows):在完整或批量记录恢复模式数据库的文件还原中,目标是要还原整个数据库,同时让该选项可用于还原损坏的文件,而非还原整个数据库。这种类型的还原涉及下列还原序列: |
1 |
执行 Tail-Log 备份。 |
2 |
3 |
4 |
5 |
• |
时间点 (PIT) 恢复:您可以在增量事务日志还原期间还原的事务日志上执行 PIT 恢复。Plug‑in for SQL Server 支持基于时间(使用“时:分:秒”格式)和基于标记事务的 PIT 恢复。还原增量事务日志和 Tail-Log 备份时,PIT 恢复选项可用。 |
• |
基于时间的时间点恢复:基于时间的 PIT 恢复在知道数据损坏时间时很有用。例如,如果开发人员在 6:00:00 A.M. 丢失一份表格,此时可执行 PIT 恢复,停止时间为 5:55:00 A.M。基于时间的 PIT 恢复只适用于不相关的数据库;因此,当多个 SQL Server 数据库需要在逻辑上一致时,应使用标记事务 PIT 恢复。 |
• |
基于标记事务的时间点恢复:SQL Server 2008 和更高版本支持将已命名的标记插入到事务日志中,以允许恢复到特定标记。如果您有两个或更多必须在逻辑上一致的数据库,此功能会十分有益。您可以通过实施特殊步骤在还原后确保这些数据的可恢复性。由于您只能将相关数据库恢复到标记事务,您的应用程序必须配置为将已命名的标记插入到事务日志,然后才能执行备份。有关更多信息,请参阅 SQL Server 在线丛书 中的确保相关数据库的可恢复性以及恢复到标记事务。 |
Master 数据库必须可以访问,并且至少在一定程度上可用于启动 SQL Server 实例。如果 master 数据库变得不可用,您可以通过从当前数据库备份还原 master 数据库或重建 master 数据库来将数据库恢复到可用状态。
只有在您可以启动服务器实例时,才可以从完整数据库备份还原 master 数据库。如果 master 数据库严重受损,会阻碍您启动 SQL Server,重建 master 数据库是唯一可以选择的选项。有关更多信息,请参阅 SQL Server 在线丛书 中的重建 master 数据库。
恢复 master 数据库包括以下步骤:
• |
• |
由于上次备份丢失后对 master 数据库做出过更改,请通过再次执行以下步骤来对其进行重建。 |
• |
有关更多信息,请参阅将数据还原到备用 SQL Server。
在以下情况下,需要从备份还原 model 或 msdb 数据库:
• |
• |
Model 或 msdb 数据库已损坏,例如由于介质故障而损坏。 |
还原 model 或 msdb 数据库与执行用户数据库的完整数据库还原操作相同。
在还原 msdb 之前,必须停止控制面板中的 SQL Server 代理服务。Quest 还建议您关闭应用程序,因为还原过程会在必要时断开用户连接。
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Nutzungsbedingungen Datenschutz Cookie Preference Center