Transact-SQL 参考

RESTORE VERIFYONLY

验证备份但不还原备份。检查备份集是否完整以及所有卷是否都可读。但是,RESTORE VERIFYONLY 不尝试验证备份卷中的数据结构。如果备份有效,则 Microsoft® SQL Server™ 2000 返回此消息:"该备份集有效"。

语法

RESTORE VERIFYONLY
FROM < backup_device > [ ,...n ]
[ WITH

    [ FILE = file_number ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] LOADHISTORY ]

    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    [ [ , ] { NOREWIND | REWIND } ]
]

< backup_device > ::=
    {
        { 'logical_backup_device_name' | @logical_backup_device_name_var }
        | { DISK | TAPE } =
            
{ 'physical_backup_device_name' | @physical_backup_device_name_var }
    }

参数

< backup_device >

指定还原时要使用的逻辑或物理备份设备。可以是下列一种或多种形式:

{'logical_backup_device_name' | @logical_backup_device_name_var}
是由 sp_addumpdevice 创建的备份设备(数据库将从该备份设备还原)的逻辑名称,该名称必须符合标识符规则。如果作为变量 (@logical_backup_device_name_var) 提供,则备份设备名可以是字符串常量 (@logical_backup_device_name_var = 'logical_backup_device_name') 或字符串数据类型(ntext text 数据类型除外)的变量。
{DISK | TAPE } =
'physical_backup_device_name' | @physical_backup_device_name_var

允许从命名磁盘或磁带设备还原备份。磁盘或磁带的设备类型应该用设备的真实名称(例如:完整的路径和文件名)来指定:DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.dat' 或 TAPE = '\\.\TAPE0'。如果指定为变量 (@physical_backup_device_name_var),则设备名称可以是字符串常量 (@physical_backup_device_name_var = 'physical_backup_device_name') 或字符串数据类型(ntext text 数据类型除外)的变量。

如果使用的是含有 UNC 名称的网络服务器或已重新定向的驱动器号,则请指定磁盘的设备类型。

n

表示可以指定多个备份设备和逻辑备份设备的占位符。在一个 ESTORE VERIFYONLY 语句中,备份设备或逻辑备份设备最多可以为 64 个。

说明  要为 <backup_device> 指定多个备份设备,所有指定的备份设备必须是相同媒体集的一部分。

FILE = file_number

标识要还原或处理的备份集。例如,file_number 为 1 表示第一个备份集,file_number 为 2 表示第二个备份集。如果没有指定 file_number,则假定是指定 <backup_device> 上的第一个备份集。

NOUNLOAD

指定不在还原后从磁带机中自动卸载磁带。设置始终为 NOUNLOAD,直到指定 UNLOAD 为止。该选项只用于磁带设备。如果对 RESTORE 使用非磁带设备,将忽略该选项。

UNLOAD

指定在还原完成后自动倒带并卸载磁带。启动新用户会话时其默认设置为 UNLOAD。设置始终为 UNLOAD,直到指定 NOUNLOAD 为止。该选项只用于磁带设备。如果对 RESTORE 使用非磁带设备,将忽略该选项。

LOADHISTORY

指定还原操作将信息装载到 msdb 历史记录表中。对于要验证的单个备份集,LOADHISTORY 选项将有关存储在媒体集上的 SQL Server 备份的信息装载到 msdb 数据库内的备份和还原历史记录表中。有关非 SQL Server 备份的消息不装载到这些历史记录表中。有关历史记录表的更多信息,请参见系统表

PASSWORD = { password | @password_variable}

是备份集的密码。 PASSWORD 是一个字符串。如果在创建备份集时提供了密码,则从备份集执行还原操作时必须提供密码。

有关使用密码的更多信息,请参见"权限"。

MEDIAPASSWORD = { mediapassword | @mediapassword_variable}

是媒体集的密码。MEDIAPASSWORD 为字符串数据类型,默认设置为NULL。

如果格式化媒体集时提供了密码,则在该媒体集上创建备份集时必须提供密码。另外,从该媒体集执行任何还原操作时也必须提供媒体密码。

NOREWIND

指定 SQL Server 在备份操作完成后使磁带保持打开。NOREWIND 意即 NOUNLOAD。

REWIND

指定 SQL Server 将释放磁带和倒带。如果 NOREWIND 和 REWIND 均未指定,则默认设置为 REWIND。

权限

任何用户都可以使用 RESTORE VERIFYONLY。

此外,用户可以为媒体集、备份集或两者指定密码。如果为媒体集指定了密码,则用户若只是适当的固定服务器和数据库角色成员还不足以执行备份。用户还必须提供媒体密码才能执行这些操作。同样,除非在还原命令中指定正确的媒体集密码和备份集密码,否则不能执行还原操作。

在 BACKUP 语句中,定义备份集密码和媒体集密码为可选功能。使用密码可防止利用 SQL Server 2000 工具未经授权地执行还原操作和在媒体中添加备份集,但是,密码不能防止通过 FORMAT 选项重写媒体。

因此,尽管使用密码对防止利用 SQL Server 工具未经授权地访问媒体内容有帮助,但密码不能防止媒体内容被破坏。密码不能完全防止未经授权地访问媒体内容,原因在于备份集中的数据没有加密,理论上可以被专为此目的创建的程序所检查。对于安全性至关重要的场合,防止未经授权的个人访问媒体非常重要。

指定密码时不限定使用者的做法是错误的。

请参见

备份和还原数据库

BACKUP

数据类型

RESTORE

RESTORE FILELISTONLY

RESTORE HEADERONLY

RESTORE LABELONLY

系统表

使用媒体集及媒体家族

使用标识符