RESTORE FILELISTONLY (Transact-SQL)
语法
RESTORE FILELISTONLY
FROM <backup_device>
[ WITH
{
--Backup Set Options
FILE = { backup_set_file_number | @backup_set_file_number }
| PASSWORD = { password | @password_variable }
--Media Set Options
| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
--Error Management Options
| { CHECKSUM | NO_CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Tape Options
| { REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
} [ ,...n ]
]
[;]
<backup_device> ::=
{
{ logical_backup_device_name |
@logical_backup_device_name_var }
| { DISK | TAPE } = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
结果集
客户端可以使用 RESTORE FILELISTONLY 获得备份集中所含文件的列表。此信息以结果集的形式返回,在结果集中每个文件占一行。
列名 |
数据类型 |
说明 |
LogicalName |
nvarchar(128) |
文件的逻辑名称。 |
PhysicalName |
nvarchar(260) |
文件的物理名称或操作系统名称。 |
Type |
char(1) |
文件的类型,其中包括: L = Microsoft SQL Server 日志文件 D = SQL Server 数据文件 F = 全文目录 |
FileGroupName |
nvarchar(128) |
包含文件的文件组的名称。 |
Size |
numeric(20,0) |
当前大小(以字节为单位)。 |
MaxSize |
numeric(20,0) |
允许的最大大小(以字节为单位)。 |
FileID |
bigint |
文件标识符,在数据库中唯一。 |
CreateLSN |
numeric(25,0) |
创建文件时的日志序列号。 |
DropLSN |
numeric(25,0) NULL |
删除文件时的日志序列号。如果文件尚未删除,该值为 NULL。 |
UniqueID |
uniqueidentifier |
文件的全局唯一标识符。 |
ReadOnlyLSN |
numeric(25,0) NULL |
包含文件的文件组从读写属性更改为只读属性(最新更改)时的日志序列号。 |
ReadWriteLSN |
numeric(25,0) NULL |
包含文件的文件组从只读属性更改为读写属性(最新更改)时的日志序列号。 |
BackupSizeInBytes |
bigint |
文件的备份的大小(以字节为单位)。 |
SourceBlockSize |
int |
包含文件的物理设备(并非备份设备)的块大小(以字节为单位)。 |
FileGroupID |
int |
文件组的 ID。 |
LogGroupGUID |
uniqueidentifier NULL |
NULL。 |
DifferentialBaseLSN |
numeric(25,0) NULL |
对于差异备份,日志序列号大于或等于 DifferentialBaseLSN 的更改都包含在差异中。 对于其他备份类型,该值为 NULL。 有关日志序列号 (LSN) 的信息,请参阅日志序列号简介的介绍。 |
DifferentialBaseGUID |
uniqueidentifier |
对于差异备份,该值是差异基准的唯一标识符。 对于其他备份类型,该值为 NULL。 |
IsReadOnly |
bit |
1 = 文件为只读文件。 |
IsPresent |
bit |
1 = 文件出现在备份中。 |
TDEThumbprint |
varbinary(32) |
显示数据库加密密钥的指纹。加密程序的指纹是带有加密密钥的证书的 SHA-1 哈希。有关数据库加密的信息,请参阅了解透明数据加密 (TDE)。 |
权限
在 SQL Server 2008 及更高版本中,获取有关备份集或备份设备的信息需要具有 CREATE DATABASE 权限。有关详细信息,请参阅 GRANT 数据库权限 (Transact-SQL)。
在备份时,可以根据需要为介质集、备份集或这两者指定密码。如果已经在介质集或备份集上定义了密码,则必须在 RESTORE 语句中指定正确的密码。这些密码可防止未经授权的用户使用 Microsoft SQL Server 工具执行还原操作和向介质追加备份集。但是,密码不会阻止使用 BACKUP 语句的 FORMAT 选项覆盖介质。
安全说明 |
---|
此密码提供的安全性较低。它旨在防止经过授权的用户或未经授权的用户使用 SQL Server 工具执行不正确的还原操作。但是不能防止通过其他方式或通过替换密码来读取备份数据。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。保护备份的最佳做法是将备份磁带存储在安全的位置,或者备份到由适当的访问控制列表 (ACL) 保护的磁盘文件。ACL 应设置在创建备份的根目录下。 |
示例
下面的示例从名为 AdventureWorks2008R2Backups 的备份设备中返回信息。该示例使用 FILE 选项指定设备中的第二个备份集。
RESTORE FILELISTONLY FROM AdventureWorks2008R2Backups
WITH FILE=2;
GO