方舟 Coding Plan

MSSQL仅还原文件列表如何使用?

什么是MSSQL仅还原文件列表以及何时使用它

MSSQL仅还原文件列表是其中之一数据库RESTORE 语句,用于列出与特定 SQL Server 数据库备份相关的所有文件及其信息。

执行 MSSQL仅还原文件列表选项返回一个结果集,其中包含备份集中包含的数据库和日志文件的列表,以及相应的数据值。大多数信息无法从 SSMS GUI 获取。

因此,使用 MSSQL仅还原文件列表选项SQL Server 数据库还原tasks可以让我们清楚的了解备份文件的相关信息,提高我们的工作效率。

何时使用MSSQL仅还原文件列表命令

这里我总结了几种可能需要用到它的常见情况:

  • 如果你想使用 T-SQL 来将 SQL 备份恢复到新数据库在同一个或另一个 SQL Server 上,则首先需要使用 Restore Filelistonly 列出备份文件的逻辑文件名。
  • 如果要在恢复之前预测数据库的大小,可以将结果集中的 Size 列表中的值(以字节为单位)相加。
  • 如果你只想查看备份文件的详细信息而不恢复它,或者将它们存储在临时表中以备后用。

如何使用 MSSQL RESTORE FILELISTONLY FROM DISK 命令

启动SSMS并连接到您的实例。单击工具栏上的“新建查询”并输入以下命令:

RESTORE FILELISTONLY FROM DISK = ‘ filepath\filename.bak ‘

注意:
1. 在’filepath\backup.bak’ 中,您需要输入备份的位置和备份的文件名,后缀为.bak。例如:’D:\Backup\DAname_1.bak’
2. 如果备份设备中有多个备份,默认指定第一个备份。但您也可以使用 FILE 选项指定特定备份(执行 RESTORE HEARDEROLY 以获取位置编号)。
例如:要在 ExampleBackups 上指定第二个备份,一个SQL Server 中的逻辑备份设备:RESTORE FILELISTONLY 从 ExampleBackups WITH FILE=2

MSSQL仅还原文件列表如何使用?

备份文件的逻辑名称将列在结果中,现在您可以使用 T-SQL WITH MOVE 命令来将 SQL 备份恢复到新数据库在同一台或另一台服务器上。

✦ 以下是结果集中一些通常需要的值:

  • LogicalName:备份文件的逻辑名称。
  • PhysicalName:备份文件的物理路径,也称为操作系统名称。
  • “类型”:文件的类型。文件有 4 种类型:D =SQL Server 数据文件、L =SQL Server 日志文件、F = Full Text Catalog、S =FileStream、FileTable 或 In-Memory OLTP 容器。
  • FileGroupName:包含该文件的文件组的名称。
  • Size:文件的当前大小(以字节为单位)。您可以将 .mdf 文件和 ldf 文件的大小相加来预测数据库的大小。
  • MaxSize:最大允许大小(以字节为单位)。
  • FileID:文件标识符,在数据库中是唯一的。
  • UniqueID:文件的全局唯一标识符。
  • DifferentialBaseLSN:对于差异备份,日志序列号大于或等于 DifferentialBaseLSN 的更改包含在差异中。对于其他备份类型,该值为 NULL。
  • DifferentialBaseGUID:对于差异备份,差异基的唯一标识符。对于其他备份类型,该值为 NULL。
  • IsReadOnly : 1=文件是只读的。

关于MSSQL Restore Filelistonly结果集中信息的更多解释,可以参考:RESTORE 语句 – FILELISTONLY (Transact-SQL)

RESTORE 语句的其他常用参数

除了Restore Filelistonly,MSSQL Restore语句中还有3个常用的参数。

  • Restore Headeronly:返回一个备份设备上所有备份集的头部信息的结果集。
  • Restore Labelonly:返回备份介质信息的结果集。
  • Restore Verifyonly:用于验证备份是否完整且可读。

在本节中,我将向您介绍它们的用途以及使用方法。

如何使用 MSSQL Restore Headeronly

在 MSSQL Server 中,Restore Headeronly 和 Restore Filelistonly 是恢复数据库之前应该实施的 2 个重要选项。

执行MSSQL Restore Headeronly,从返回的SQL备份集相关信息中,可以看到谁执行了备份,以及备份中的其他细节。这可以有效地帮助我们在恢复之前执行SQL Server 数据库备份验证。

例如,由于无法在较早版本上恢复较新版本的 SQL Server 数据库的备份,您可以在恢复之前使用 Restore Headeronly 查询该备份的数据库版本。

基本语法是:

RESTORE HEADERONLY FROM DISK = ‘ filepath\filename.bak ‘

MSSQL仅还原文件列表如何使用?

✦ 以下是结果集中一些通常需要的值:

  • BackupName:备份的名称。
  • BackupType:备份的类型。1=数据库,2=事务日志,4=文件,5=差异数据库,6=差异文件,7=部分,8=部分差异。
  • ExpirationDate:备份文件将在这个时间后过期。
  • “压缩”:0=未压缩,1=压缩。
  • Position:备份集在卷中的位置(与 FILE = 选项一起使用)。
  • DeviceType:备份设备的类型。用于备份操作的设备对应的编号:Disk:2=Logical, 102=Physical。磁带:5=逻辑,105=物理。虚拟设备:7=逻辑,107=物理。URL:9=逻辑,109=物理。
  • UserName:执行备份操作的用户名。
  • ServerName:写入备份集的服务器的名称。
  • DatabaseName:已备份的数据库的名称。
  • DatabaseVersion:创建备份的数据库版本。更高版本的 SQL Server 数据库备份无法恢复到早期版本。
  • BackupSize:备份的大小(以字节为单位)。

关于MSSQL Restore Headeronly结果集中的信息的更多解释,可以参考:RESTORE 语句 – HEADERONLY (Transact-SQL)

如何使用 MSSQL Restore Labelonly

执行 RESTORE LABELONLY 是找出备份媒体包含的内容的快速方法。

例如,如果您同时对多个位置执行备份,则这些位置构成一个系列。如果 FamilyCount 大于 1,则此备份文件有一个家族。您可以通过检查 MediaDate 和 MediaSequenceNumber 来判断它是何时创建的,或者它是否是第一个创建的。

基本语法是:

RESTORE LABELONLY FROM DISK = ‘ filepath\filename.bak ‘

MSSQL仅还原文件列表如何使用?

✦ 以下是结果集中一些通常需要的值:

  • MediaName:媒体的名称。
  • MediaSetId:媒体集的唯一标识号。
  • FamilyCount:媒体集中媒体家族的数量。
  • MediaSequenceNumber:此媒体在媒体家族中的序列号。
  • MediaDescription:媒体描述,采用自由格式文本或磁带格式媒体标签。
  • SoftwareName:写入标签的备份软件的名称。
  • SoftwareVendorId:编写备份的软件供应商的唯一供应商标识号。
  • MediaDate:写入标签的日期和时间。
  • IsCompressed:0=未压缩,1=压缩。

关于MSSQL Restore Labelonly结果集中信息的更多解释,可以参考:RESTORE 语句 – LABELONLY (Transact-SQL)

如何使用 MSSQL Restore Verifyonly

在 SQL Server 中,Restore Verifyonly 用于检查备份是否完整且可读。

完成 SQL Server 数据库备份后,您可以执行 MSSQL Restore Verifyonly 来检查每个备份的可读性。

如果返回的结果是备份集无效,则说明该备份不能用于恢复,需要重新备份。

基本语法是:

RESTORE VERIFYONLY FROM DISK = ‘filepath\filename.bak’

MSSQL仅还原文件列表如何使用?

给TA打赏
共{{data.count}}人
人已打赏
MSSQL

安全执行 MSSQL Server单表备份 [6 种方式]

2026-10-18 9:22:29

MSSQL

如何还原 Microsoft SQL 数据库?(4种方法)

2026-10-18 9:25:40

❯
购物车
优惠劵
搜索