如果数据库被删除或损坏,您可以通过以下任一方式进行恢复:
- 执行完整恢复操作
- 创建克隆,或几乎即时将数据库装载为虚拟应用,然后将其迁移回原始位置或新位置。如需装载和迁移数据库,请参阅 SQL Server 装载和迁移。
恢复过程由向导驱动,并且会略有不同,具体取决于您是要恢复单个数据库备份(例如 Always On 可用性组 [AG] 的成员),还是要恢复 SQL 实例中的多个备份。
准备工作
在运行本部分中的过程之前,请确保:
数据库未处于紧急模式。
等待正在运行的作业完成。
Microsoft SQL Server 数据库恢复概览
恢复功能会将原始生产数据库数据替换为所选的时间点备份,或替换为备份保险柜中的备份。此恢复会导致所有当前数据库数据丢失,因为数据库在恢复到创建备份时的时间点状态时会被覆盖。此操作无法撤消。
恢复操作通常用于在发生数据损坏事件后将数据库恢复到有效状态。完成恢复操作所需的时间取决于所涉及的数据量。
使用 Microsoft SQL Server 完整恢复模型的数据库使用单个政策来捕获数据库及其日志。通过前滚日志,可以将此类数据库恢复到任意时间点。如果您通过设备管理控制台指定“恢复并还原”来恢复数据库,则 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 数据库,而不前滚任何日志。
如果您希望将数据库保留在恢复模式下,请取消选中“Restore With Recovery”(恢复时还原)复选框。“Restore with recovery”会使恢复的数据库处于在线状态。一旦上线,就无法再应用日志。
点击提交。
系统会打开一个警告对话框。阅读该警告,然后输入 DATA LOSS 进行确认。恢复作业随即启动。您可以通过在系统监控器中查看作业状态,验证恢复操作是否成功。
恢复 SQL 系统数据库
Backup and DR 可以发现和备份 Microsoft SQL 系统数据库,就像 SQL Server 用户数据库一样。
如需恢复 SQL 系统数据库,您必须先装载该数据库的最后一个已知良好版本,然后使用文件复制操作将良好的 SQL Server 系统数据库 .mdf 和 .ldf 文件复制到托管损坏的 SQL 系统数据库的源 SQL Server。
在 Backup and DR 设备管理控制台中,点击应用管理器,然后从下拉菜单中选择应用。
应用页面随即打开。
选择并装载一致性组的最后一个已知良好备份。 请务必取消选择 创建新的虚拟应用。
如果可能,请使用以下示例查询来显示数据库的文件位置:
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 Microsoft SQL Server DBA 指南
本页面是专门介绍如何使用 Backup and DR 保护和恢复 Microsoft SQL Server 数据库的系列页面之一。如需了解更多信息,请参阅: