在特定的备份设备上检索所有备份集的所有备份首部信息。执行 RESTORE HEADERONLY 的结果是一个结果集。
RESTORE HEADERONLY
FROM < backup_device >
[ WITH { NOUNLOAD | UNLOAD }
[ [ , ] FILE = file_number ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
]
< backup_device > ::=
{
{ 'logical_backup_device_name' | @logical_backup_device_name_var
}
| { DISK | TAPE } =
{ 'physical_backup_device_name' | @physical_backup_device_name_var }
}
< backup_device >
指定还原时要使用的逻辑或物理备份设备。可以是下列选项之一:
允许从命名磁盘或磁带设备还原备份。磁盘或磁带的设备类型应该用设备的真实名称(例如:完整的路径和文件名)来指定: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 名称的网络服务器或已重新定向的驱动器号,则请指定磁盘的设备类型。
NOUNLOAD
指定不在还原后从磁带机中自动卸载磁带。设置始终为 NOUNLOAD,直到指定 UNLOAD 为止。该选项只用于磁带设备。
UNLOAD
指定在还原完成后自动倒带并卸载磁带。启动新用户会话时其默认设置为 UNLOAD。设置始终为 UNLOAD,直到指定 NOUNLOAD 为止。该选项只用于磁带设备。
FILE = file_number
标识待描述的备份集。例如,file_number 为 1 表示第一个备份集,file_number 为 2 表示第二个备份集。如果未指定,则描述设备上的所有备份集。
PASSWORD = { password | @password_variable}
是备份集的密码。 PASSWORD 是一个字符串。如果在创建备份集时提供了密码,则从备份集执行还原操作时必须提供密码。
有关使用密码的更多信息,请参见"权限"。
MEDIAPASSWORD = { mediapassword | @mediapassword_variable}
是媒体集的密码。MEDIAPASSWORD 是一个字符串。
如果格式化媒体集时提供了密码,则在该媒体集上创建备份集时必须提供密码。另外,从该媒体集执行任何还原操作时也必须提供媒体密码。
对于给定设备上的每个备份,服务器均发送一行含有以下各列的首部信息:
说明 由于 RESTORE HEADERONLY 查看媒体上的所有备份集,因此在使用高容量磁带机时可能要花一些时间生成该结果集。若只想快速查看媒体而无需了解每个备份集的信息,请使用 RESTORE LABELONLY 或指定 FILE = file_number。
由于 Microsoft 磁带格式的固有特点,来自其它软件程序的备份集可以与 Microsoft® SQL Server™ 2000 备份集在同一媒体上占有空间。在由 RESTORE HEADERONLY 返回的结果集中,这些其它备份集中的每个各占一行。
列名 | 数据类型 | SQL Server 备份集描述 | 其它备份集描述 |
---|---|---|---|
BackupName | nvarchar(128) | 备份集名称。 | 数据集名称 |
BackupDescription | nvarchar(255) | 备份集描述。 | 数据集描述 |
BackupType | smallint | 备份类型: 1 = 数据库 | 备份类型: 1 = 标准 |
ExpirationDate | datetime | 备份集的过期时间。 | NULL |
Compressed | tinyint | 0 = 否。SQL Server 不支持软件压缩。 | 是否使用基于软件的压缩对备份集进行压缩: 1 = 是 |
Position | smallint | 备份集在卷中的位置(用于 FILE = 选项)。 | 备份集在卷中的位置 |
DeviceType | tinyint | 与用于备份操作的设备对应的编号: 磁盘 磁带 管道 虚拟设备 所有物理设备名和设备号可从 sysdevices 中查找。 | NULL |
UserName | nvarchar(128) | 执行备份操作的用户名。 | 执行备份操作的用户名 |
ServerName | nvarchar(128) | 写入备份集的服务器名称。 | NULL |
DatabaseName | nvarchar(128) | 已备份的数据库名称。 | NULL |
DatabaseVersion | int | 从其中创建备份的数据库版本。 | NULL |
DatabaseCreationDate | datetime | 数据库的创建日期和时间。 | NULL |
BackupSize | numeric(20,0) | 备份大小(以字节为单位)。 | NULL |
FirstLSN | numeric(25,0) | 备份集中第一个事务的日志序号。对文件备份为 NULL。 | NULL |
LastLSN | numeric(25,0) | 备份集中最后一个事务的日志序号。对文件备份为 NULL。 | NULL |
CheckpointLSN | numeric(25,0) | 创建备份时最后一个检查点的日志序号。 | NULL |
DatabaseBackupLSN | numeric(25,0) | 最新的完整数据库备份的日志序列号。 | NULL |
BackupStartDate | datetime | 备份操作的开始日期和时间。 | 写入媒体的日期 |
BackupFinishDate | datetime | 备份操作的完成日期和时间。 | 写入媒体的日期 |
SortOrder | smallint | 服务器排列次序。该列仅对数据库备份有效。为向后兼容性而提供。 | NULL |
CodePage | smallint | 服务器使用的服务器代码页或字符集。 | NULL |
UnicodeLocaleId | int | 用于 Unicode 字符数据排序的服务器 Unicode 区域设置 ID 配置选项。为向后兼容性而提供。 | NULL |
UnicodeComparisionStyle | int | 服务器 Unicode 比较风格配置选项,可提供对 Unicode 数据排序的额外控制。为向后兼容性而提供。 | NULL |
CompatibilityLevel | tinyint | 从其中创建备份的数据库兼容级别设置。 | NULL |
SoftwareVendorId | int | 软件供应商标识号。对于 SQL Server,该号码是 4608(用十六进制表示是 0x1200)。 | 软件供应商标识号 |
SoftwareVersionMajor | int | 创建备份集的服务器主要版本号。 | 创建备份集的软件的主要版本号 |
SoftwareVersionMinor | int | 创建备份集的服务器次要版本号。 | 创建备份集的软件的次要版本号 |
SoftwareVersionBuild | int | 创建备份集的服务器内部版本号码。 | NULL |
MachineName | nvarchar(128) | 执行备份操作的计算机名称。 | 执行备份操作的计算机的类型 |
Flags | int | 位 0 (X1) 表示在此日志备份中捕获大容量日志记录数据。 | NULL |
BindingID | uniqueidentifier | 数据库的绑定 ID。 | NULL |
RecoveryForkID | uniqueidentifier | 此备份的当前恢复派生的 ID。 | NULL |
Collation | nvarchar(128) | 数据库使用的排序规则。 | NULL |
说明 如果为备份集指定了密码,则 RESTORE HEADERONLY 将只显示密码与命令中指定的 PASSWORD 选项相匹配的备份集的完整信息。RESTORE HEADERONLY 还显示没有密码保护的备份集的完整信息。媒体上其它受密码保护的备份集的 BackupName 列将被设为 '***Password Protected***',而剩下的所有列将为 NULL。
任何用户都可以使用 RESTORE HEADERONLY。
此外,用户可以为媒体集、备份集或两者指定密码。如果为媒体集指定了密码,则用户若只是适当的固定服务器和数据库角色成员还不足以执行备份。用户还必须提供媒体密码才能执行这些操作。同样,除非在还原命令中指定正确的媒体集密码和备份集密码,否则不能执行还原操作。
在 BACKUP 语句中,定义备份集密码和媒体集密码为可选功能。使用密码可防止利用 SQL Server 2000 工具未经授权地执行还原操作和在媒体中添加备份集,但是,密码不能防止通过 FORMAT 选项重写媒体。
因此,尽管使用密码对防止利用 SQL Server 工具未经授权地访问媒体内容有帮助,但密码不能防止媒体内容被破坏。密码不能完全防止未经授权地访问媒体内容,原因在于备份集中的数据没有加密,理论上可以被专为此目的创建的程序所检查。对于安全性至关重要的场合,防止未经授权的个人访问媒体非常重要。
指定密码时不限定使用者的做法是错误的。
客户端可以使用 RESTORE HEADERONLY 检索特殊备份设备上的所有备份的所有备份首部信息。对于表中给定备份设备上的每个备份,服务器均发送一行首部信息。
重要 为维护向后兼容性,在 RESTORE 语句语法中可以使用 LOAD 关键字代替 RESTORE 关键字。
相关文章