Transact-SQL 参考

RESTORE FILELISTONLY

返回由备份集内包含的数据库和日志文件列表组成的结果集。

语法

RESTORE FILELISTONLY
FROM < backup_device >
[ WITH

    [ FILE = file_number ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
]

< 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 名称的网络服务器或已重新定向的驱动器号,则请指定磁盘的设备类型。

FILE = file_number

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

PASSWORD = { password | @password_variable}

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

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

MEDIAPASSWORD = { mediapassword | @mediapassword_variable}

是媒体集的密码。MEDIAPASSWORD 是一个字符串。

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

NOUNLOAD

指定不在还原后从磁带机中自动卸载磁带。设置始终为 NOUNLOAD,直到指定 UNLOAD 为止。该选项只用于磁带设备。

UNLOAD

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

结果集

客户端可以使用 RESTORE FILELISTONLY 获得备份集内的文件列表。该信息以结果集的形式返回,在结果集中每个文件占一行。

列名 数据类型 描述
LogicalName nvarchar(128) 文件的逻辑名称
PhysicalName nvarchar(260) 文件的物理名称或操作系统名称
Type char(1) 数据文件 (D) 或日志文件 (L)
FileGroupName nvarchar(128) 包含文件的文件组名称
Size numeric(20,0) 当前大小(以字节为单位)
MaxSize numeric(20,0) 允许的最大大小(以字节为单位)

权限

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

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

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

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

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

请参见

备份和还原数据库

BACKUP

数据类型

RESTORE

RESTORE HEADERONLY

RESTORE LABELONLY

RESTORE VERIFYONLY

了解媒体集和媒体家族

使用标识符