执行数据库完整还原(简单恢复模式)

数据库完整还原的目的是还原整个数据库。整个数据库在还原期间处于离线状态。在数据库的任何部分变为在线之前,必须将所有数据恢复到同一点,即数据库的所有部分都处于同一时间点并且不存在未提交的事务。

在简单恢复模式下,数据库不能还原到特定备份中的特定时间点。

还原整个数据库

简单恢复模式下的完整数据库还原只涉及一个或两个 RESTORE 语句,具体取决于是否需要还原差异数据库备份。

如果只使用完整数据库备份,则只需还原最近的备份。如果还使用差异数据库备份,则应还原最近的完整数据库备份而不恢复数据库,然后还原最近的差异数据库备份并恢复数据库。

还原整个数据库时,应当使用单一的还原顺序。以下示例显了数据库完整还原方案的还原顺序中的关键选项。还原顺序由通过一个或多个还原阶段来移动数据的一个或多个还原操作组成。将省略与此目的无关的语法和详细信息。

将数据库恢复到完整数据库备份的状态。在恢复数据库时,尽管 RECOVERY 选项是默认值,但为清楚起见,仍建议显式指定该选项。

示例

以下示例首先显示了如何使用 BACKUP 语句来创建 AdventureWorks 数据库的完整数据库备份和差异数据库备份。然后按顺序还原这些备份。

ms186216.note(zh-cn,SQL.90).gif注意:
此示例以 ALTER DATABASE 语句开头,该语句将恢复模式设置为 SIMPLE
USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=2, RECOVERY;
GO

还原完整数据库备份

用于还原数据库备份的 RESTORE 语句的基本语法是:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

ms186216.note(zh-cn,SQL.90).gif注意:
如果还打算还原差异数据库备份,则应使用 WITH NORECOVERY。

还原差异数据库备份

用于还原差异数据库备份的 RESTORE 语句的基本语法是:

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

使用 SQL Server 管理对象 (SMO) 还原备份

对 SQL Server 早期版本中备份的支持

在 SQL Server 2005 中,可以还原使用 SQL Server 7.0 版、SQL Server 2000 或 SQL Server 2005 创建的数据库备份。但是,SQL Server 2005 无法还原使用 SQL Server 7.0 或 SQL Server 2000 创建的 mastermodelmsdb 备份。

SQL Server 2005 使用与早期版本不同的默认路径。因此,若要从备份中还原在 SQL Server 7.0 或 SQL Server 2000 的默认位置中创建的数据库,必须使用 MOVE 选项。有关新的默认路径的信息,请参阅 SQL Server 2005 的默认实例和命名实例的文件位置

ms186216.note(zh-cn,SQL.90).gif注意:
使用 SQL Server 6.5 或早期版本创建的数据库备份采用的格式不兼容,无法在 SQL Server 2005 中还原。有关如何将使用 SQL Server 6.5 或早期版本创建的数据库升级到 SQL Server 2005 的信息,请参阅从 SQL Server 6.5 或更早版本复制数据库

请参阅

概念

完整数据库备份
差异数据库备份
简单恢复模式下的备份
减少还原数据库时所用的恢复时间
简单恢复模式下的还原限制
了解 SQL Server 中备份的还原和恢复工作方式

其他资源

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
使用 SQL Server 数据库还原顺序

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

新增内容:
  • 在“还原整个数据库”部分提供了 RESTORE 的基本语法。
更改的内容:
  • 使用 DISK 选项,将 BACKUP 和 RESTORE 语句示例更改为指定物理备份设备,而不是指定逻辑备份设备。