还原数据库(“常规”页)
适用范围:SQL Server
本文介绍 SQL Server Management Studio 中还原数据库向导的“常规”页上找到的各种选项。 使用 SQL Server Management Studio(SSMS)还原完整数据库备份时,“常规”页用于指定有关数据库还原操作的目标数据库和源数据库的信息。
注意
使用 SQL Server Management Studio 指定还原任务时,可以通过选择“脚本”,再为脚本选择一个目标来生成相应的 Transact-SQL RESTORE 脚本。
权限
如果要还原的数据库不存在,则用户必须有 CREATE DATABASE
权限才能成功还原数据库。 如果该数据库存在,则 RESTORE 权限默认授予 sysadmin
和 dbcreator
固定服务器角色的成员以及该数据库的所有者 (dbo
)。
RESTORE 权限被授予那些成员身份信息始终可由服务器使用的角色。 因为只有在固定数据库可以访问且没有损坏时(在执行 RESTORE 时并不会总是这样)才能检查固定数据库角色成员身份,所以 db_owner
固定数据库角色成员没有 RESTORE 权限。
从加密的备份进行还原需要对用于加密备份的证书或非对称密钥具有 VIEW DEFINITION 权限。
打开“还原数据库”向导
若要在 SQL Server Management Studio 中打开还原数据库向导,请在对象资源管理器“>任务>还原>数据库”中右键单击数据库名称,打开“还原数据库”向导:
选项
Source
这些选项可标识数据库备份集的位置以及要还原的备份集。
术语 | 定义 |
---|---|
Database | 从下拉列表中选择要还原的数据库。 此列表仅包含已根据 msdb 备份历史记录进行备份的数据库。 |
设备 | 选择包含要还原的一个或多个备份的逻辑或物理备份设备:磁带、URL 或文件。 如果是在另一个 SQL Server 实例上执行数据库备份,则必须选择设备。 要选择一个或多个逻辑或物理备份设备,请单击“浏览”按钮,这将打开“选择备份设备”对话框。 最多可以选择属于一个介质集的 64 个设备。 磁带机必须与运行 SQL Server 实例的计算机物理连接。 备份文件可以位于本地或远程磁盘设备上。 有关详细信息,请参阅备份设备 (SQL Server)。 还可以选择“URL”作为 Azure 存储中所存储备份文件的设备类型。 退出“选择备份设备”对话框时,选择的设备将在“设备”列表中显示为只读值。 |
Database | 从下拉列表中选择要从其还原备份的数据库名称。 注意:此列表仅在选择了“设备” 时才可用。 只有已在所选设备上备份的数据库才可用。 |
目标
“还原到” 面板中的选项可标识数据库和还原点。
术语 | 定义 |
---|---|
Database | 在该列表中输入要还原的数据库。 您可以输入新的数据库,也可以从下拉列表中选择现有的数据库。 该列表包含了服务器上除系统数据库 master 和 tempdb 之外的所有数据库。注意:若要还原带有密码保护的备份,必须使用 RESTORE 语句。 |
“还原到” | 默认情况下, “还原到” 框将设置为“至最近一次进行的备份”。 你还可以选择“时间线”以便显示“备份时间线”对话框,该对话框将以时间线的形式显示数据库备份历史记录。 选择“时间线”可以指定要将数据库还原到的特定日期/时间。 数据库将还原到它在此指定时间点时的状态。 请参阅 Backup Timeline。 |
还原计划
本部分定义还原数据库向导的“还原计划”部分中使用的术语。
备份集以进行还原
显示可用于指定位置的备份集。 备份操作将创建一个备份集,该备份集分布在媒体集中的所有设备上。 默认情况下,会建议制定一个恢复计划,以实现基于所选必需备份集执行的还原操作目标。 SQL Server Management Studio 使用 msdb
中的备份历史记录。 该历史记录用于标识还原数据库所需的备份,并创建还原计划。 例如,为了进行数据库还原,还原计划将选择最近的完整数据库备份,然后选择最近的差异数据库备份(如果有)。 在完整恢复模式下,还原计划随后将选择所有日志备份。
若要覆盖建议的恢复计划,可以更改网格中的选择。 任何依赖于已取消选择备份的备份,也将被自动取消选择。
只有在选中了 “手动选择” 框后,这些复选框才启用。 你可以选择要还原的备份集。
选中“手动选择”框后,每次修改还原计划时都会检查其精确性。 如果备份的顺序不正确,将显示一条错误消息。
下表对要还原的备份集中的列进行了说明:
列名 | 定义 |
---|---|
还原 | 选中的复选框指示要还原的备份集。 |
名称 | 备份集的名称。 |
组件 | 已备份的组件:数据库、文件或 <blank>(对于事务日志)。 |
类型 | 备份类型:完整、差异或事务日志。 |
服务器 | 完成备份操作的数据库引擎实例的名称。 |
数据库 | 备份操作中涉及的数据库的名称。 |
Position | 备份集在卷中的位置。 |
第一个 LSN | 备份集中第一个事务的日志序列号。 对于文件备份为空。 |
最后一个 LSN | 备份集中最后一个事务的日志序列号。 对于文件备份为空。 |
检查点 LSN | 创建备份时最新检查点的日志序列号 (LSN)。 |
完整 LSN | 最近的完整数据库备份的日志序列号。 |
开始日期 | 备份操作开始的日期和时间,按客户端的区域设置显示。 |
完成日期 | 备份操作完成的日期和时间,按客户端的区域设置显示。 |
大小 | 备份集的大小(字节)。 |
用户名 | 完成备份操作的用户的名称。 |
过期日期 | 备份集的过期日期和时间。 |
验证备份介质
对所选的备份集调用 RESTORE VERIFY_ONLY 语句。 验证操作耗时较长,你可以使用对话框框架上的进度监视器来跟踪其进度以及取消操作。
此按钮可用于在还原所选备份文件之前检查其完整性。
当检查备份集的完整性时,在该对话框左下角的进度状态将显示“正在验证”,而非“正在执行”。
兼容性支持
在 SQL Server 2016 (13.x) 及更高版本中,可以从使用 SQL Server 2005 (9.x) 或更高版本创建的数据库备份来还原用户数据库。 SQL Server 2016 (13.x) 及更高版本无法还原使用 SQL Server 2005 (9.x) 到 SQL Server 2012 (11.x) 创建的 master
、model 和 msdb
的备份。 此外,无法使用早期版本的 SQL Server 还原在较新版本的 SQL Server 中创建的备份。
较新版本的 SQL Server 使用的默认路径与 SQL Server 2016 (13.x) 之前的版本不同。 要还原在早期 SQL Server 版本的默认位置创建的数据库,必须使用 MOVE 选项。
在将早期版本数据库还原到 SQL Server 后,数据库内部版本将自动升级。 通常,该数据库将立即可用。 但是,如果 SQL Server 2005 (9.x) 数据库具有全文检索,升级流程将导入、重置或重新生成它们,具体取决于全文升级选项服务器属性的设置。 如果将升级选项设置为“导入”或“重新生成”,在升级过程中将无法使用全文检索。 导入可能需要数小时,而重新生成所需的时间最多可能十倍于此,具体取决于要编制索引的数据量。 另请注意,当升级选项设置为“导入”时,如果全文目录不可用,将重新生成关联的全文检索。
从加密备份还原
执行还原操作要求在要还原到的实例上具有最初用于创建备份的证书或非对称密钥。 执行还原的帐户应对证书或非对称密钥具有 VIEW DEFINITION 权限。 请勿续订或更新用于加密备份的证书。
从 Microsoft Azure 存储还原
从“备份媒体类型”中选择 URL:“选择备份设备”对话框中的下拉列表。 接下来,选择“添加”,打开“选择备份文件位置”。 选择现有的 SQL Server 凭据和 Azure 存储容器。 添加具有共享访问签名的新 Azure 存储容器,或为现有存储容器生成共享访问签名和 SQL Server 凭据。 连接到存储帐户后,将在“在 Microsoft Azure 上定位备份文件”对话框中显示备份文件,从中可选择用于还原的文件。 有关详细信息,请参阅连接到 Microsoft Azure 订阅。