1
数据库原理与应用技术
1.12.3.2 11.3.2 数据库的还原命令
11.3.2 数据库的还原命令

还原数据库既可以通过运行还原语句实现,也可以使用 SSMS 来完成。本节介绍使用RESTORE语句还原数据库,它的基本语法格式如下:

RESTORE DATABASE { database_name }

FROM < backup_device >

[WITH [ FILE ={ file_number }] [,]

[RECOVERY| NORECOVERY|…]

其中,< backup_device >用于指定还原操作要使用的逻辑或物理备份设备,可以是下列的一种或多种形式。

(1) {'logical_backup_device_name' }:为备份设备(数据库将从该备份设备还原)的逻辑名称,该名称必须符合标识符规则。

(2) {DISK | TAPE }= 'physical_backup_device_name':允许从命名磁盘或磁带设备还原备份。磁盘或磁带的设备类型应该用设备的真实名称来指定,即DISK = 'C:\Program Files\ Microsoft SQL Server\MSSQL\BACKUP\Mybackup.bak'。

RESTORE语句有许多可选项,这里简单介绍两项。

(1) FILE用于标识要还原的备份集。例如,file_number为1表示备份介质上的第一个备份集,file_number 为2表示第二个备份集。

(2) NORECOVERY表示还原操作不回滚任何未提交的事务。如果NORECOVERY、RECOVERY和STANDBY均未指定,则默认为RECOVERY。当还原数据库备份和多个事务日志时,或者需要多个RESTORE语句时(例如,在完整数据库备份后进行差异数据库备份),SQL Server要求在除最后的RESTORE语句外的所有其他语句上使用WITH NORECOVERY选项。

【例11-3】从备份设备students_bak还原完整数据库备份为students,写出语句。

解:语句如下。

RESTORE DATABASE students FROM students_bak