适用范围:SQL Server
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中还原差异数据库备份。
限制和局限
-
不允许在显式或隐式事务中使用 RESTORE。
-
无法在早期版本的 SQL Server 中还原较新版本的 SQL Server创建的备份。
-
在 SQL Server 中,可以从使用 SQL Server 2005 (9.x) 或更高版本创建的数据库备份来还原用户数据库。
先决条件
在完整恢复模式或大容量日志恢复模式下,必须先备份活动事务日志(称为日志尾部),然后才能还原数据库。
安全性
权限
如果不存在要还原的数据库,则用户必须有 CREATE DATABASE 权限才能执行 RESTORE。 如果数据库存在,则 RESTORE 权限默认授予 sysadmin 和 dbcreator 固定服务器角色成员以及数据库的所有者 (dbo)(对于 FROM DATABASE_SNAPSHOT 选项,数据库始终存在)。
RESTORE 权限被授予那些成员身份信息始终可由服务器使用的角色。 因为只有在固定数据库可以访问且没有损坏时(在执行 RESTORE 时并不会总是这样)才能检查固定数据库角色成员身份,所以 db_owner 固定数据库角色成员没有 RESTORE 权限。
使用 SQL Server Management Studio
还原差异数据库备份
-
连接到 Microsoft SQL Server 数据库引擎的相应实例后,在对象资源管理器中单击服务器名称以展开服务器树。
-
展开 “数据库” 。 根据具体的数据库,选择一个用户数据库,或展开“系统数据库”并选择一个系统数据库。
-
右键单击数据库,指向“任务”,再指向“还原”,然后单击“数据库”。
-
在 “常规” 页上,使用 “源” 部分指定要还原的备份集的源和位置。 选择以下任一选项:
-
Database
从下拉列表中选择要还原的数据库。 此列表仅包含已根据 msdb 备份历史记录进行备份的数据库。
-