如果数据库被删除或损坏,您可以通过以下任一方式恢复:
- 执行完整恢复操作
- 创建克隆,或将数据库几乎立即装载为虚拟应用,然后将其迁移回原始位置或迁移到新位置。如需装载和迁移数据库,请参阅 SQL Server 装载和迁移。
恢复过程由向导驱动,并且会因您是恢复单个数据库映像(例如 Always On 可用性组 [AG] 的成员)还是 SQL 实例中的多个映像而略有不同。
准备工作
在运行本部分中的过程之前,请确保:
数据库未处于紧急模式。
等待正在运行的作业完成。
Microsoft SQL Server 数据库恢复概览
恢复功能会将原始生产数据库数据替换为所选的时间点映像,或替换为备份保险库中的映像。此恢复操作会导致所有当前数据库数据丢失,因为在恢复到创建映像时的时间点状态时,数据库将被覆盖。此操作无法撤消。
恢复操作通常用于在发生数据损坏事件后将数据库恢复到有效状态。完成恢复操作所需的时间取决于涉及的数据量。
使用 Microsoft SQL Server 完整恢复模型的数据库使用单个政策来捕获数据库及其日志。通过前滚日志,可以将此类数据库恢复到任何时间点。如果您通过管理控制台指定“Restore With Recovery”来恢复数据库,则在应用日志后,SQL Server 数据库将恢复并上线。
在还原 Microsoft SQL Server 数据库和实例时,Backup and DR 支持以下常见使用情形:
执行就地数据库恢复:如果生产数据库或实例已损坏但仍处于在线状态,请执行恢复操作。
使用虚拟应用(虚拟应用装载):您可以使用损坏的 SQL Server 实例或数据库的最后一个已知良好版本的虚拟应用装载,以便用户和应用尽快恢复工作。然后,可以使用装载和迁移在后台迁移数据库,请参阅 SQL Server 装载和迁移。
恢复 Microsoft SQL 实例和数据库
这是最简单也是最常见的恢复方案。在这种情况下,您需要将所选 SQL 数据库从之前的映像恢复到原始数据库服务器。对于此类恢复,数据库必须处于在线状态。如果数据库未处于在线状态,恢复操作将在数据库验证期间失败;在这种情况下,请改为克隆数据库。
如需运行此程序,请执行以下操作:
Microsoft SQL Server 数据库必须处于在线状态。如果数据库未处于在线状态,恢复操作将在数据库验证期间失败。
等待正在运行的作业完成。
如需恢复 SQL Server 数据库,请执行以下操作:
打开应用管理器的应用页面。
右键点击要恢复的 Microsoft SQL Server 数据库,然后从下拉列表中选择访问。系统会打开“访问”页面,并在时间轴坡道视图中列出拍摄的图片。支持恢复操作的映像类型包括快照和 OnVault,但前提是使用捕获映像的同一设备。
如果需要使用其他设备进行恢复,请改用克隆操作。
背景用于区分包含 SQL Server 数据库和事务日志文件的快照映像,还用于说明日志的恢复范围时间段
选择相应映像,然后从操作列表中选择恢复。 系统会打开“恢复”页面。
为此恢复操作选择传统。
如果所选数据库没有日志,“恢复”页面不会显示前滚选项。如果 SQL Server 数据库是使用日志保护备份模板管理的,并且映像中包含日志,您可以执行以下操作:
指定使用“用户时间”或“主机时间”进行前滚。您可以根据用户时间或主持人时间来确定日期和时间。用户时间相对于当前屏幕的查看者而言。主机时间是相对于托管要恢复的数据的系统而言的。
使用日历工具选择前滚操作的日期。
使用“恢复范围”滑块选择所选日期中的特定时间来恢复数据库。将滑块工具一直滑动到最左侧,并选择最早的日期,以仅恢复 SQL Server 数据库,而不向前滚动任何日志。
如果您想让数据库处于恢复模式,请取消选中“恢复并进行恢复”复选框。使用恢复功能进行恢复可使恢复后的数据库处于联机状态。上线后,无法再应用任何日志。
点击提交。
系统会打开一个警告对话框。阅读该消息,然后输入 DATA LOSS 进行确认。 恢复作业开始。您可以在系统监控器中查看作业状态,以验证恢复操作是否成功。
恢复 SQL 系统数据库
Backup and DR 可以发现和备份 Microsoft SQL 系统数据库,就像 SQL Server 用户数据库一样。
如需恢复 SQL 系统数据库,您必须先装载该数据库的最后一个已知良好版本,然后使用文件复制操作将良好的 SQL Server 系统数据库 .mdf 和 .ldf 文件复制到托管损坏的 SQL 系统数据库的源 SQL 服务器。
在备份和灾难恢复服务管理控制台中,点击应用管理器,然后从下拉菜单中选择应用。
系统会打开应用页面。
选择并装载一致性组的最后一个已知良好映像。 请务必取消选择 创建新的虚拟应用。
如果可能,请使用以下示例查询来显示数据库的文件位置:
SELECT name, physical_name AS current_file_location FROM sys.master_files
在 SQL 实例中,使用 SQL Server 配置管理器或服务 MMC 停止源 SQL 实例:
使用 Windows 资源管理器或其他方式,导航到已装载的 SQL 系统数据库备份。
复制要还原的数据库的已装载 .mdf 和 .ldf 文件。
使用 Windows 资源管理器或其他方式,找到源 SQL Server 数据库:
将 .mdf 和 .ldf 文件粘贴到源 SQL Server 数据库中。
在 SQL 实例中,使用 SQL Server 配置管理器或服务 MMC 来重启源 SQL Server 数据库。
恢复到 SQL Server 集群
对于 SQL Server 故障转移实例,数据库始终会恢复到活动节点。对于 SQL Server 可用性组,恢复操作会在所有节点上执行。
恢复一致性组中的 SQL Server 数据库
在一致性组中恢复 Microsoft SQL Server 数据库时,请务必谨慎小心(请参阅恢复一致性组)。恢复一致性组中的 SQL Server 数据库时,系统会覆盖一致性组中的所有数据库。
Backup and DR SQL Server DBA 指南
本页是关于使用 Backup and DR 保护和恢复 Microsoft SQL Server 数据库的一系列页面之一。您可以在以下页面中找到更多信息:
- SQL Server 数据库的备份和灾难恢复
- 为 Backup and DR Service 准备 SQL Server 数据库
- 添加 SQL Server 数据库主机并发现数据库
- 为 Microsoft SQL Server 实例和数据库配置备份方案
- 装载 SQL Server 数据库
- 将数据库装载到 SQL Always On 可用性组中
- 迁移 SQL Server 数据库
- 克隆 SQL Server 数据库
- 恢复 SQL Server 备份