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

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

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

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

SQL 服务器徽标

何时使用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 还原仅验证

一种将多个 SQL 备份恢复到新位置的轻松方法

MSSQL Restore Filelistonly选项主要用于查询备份文件的逻辑名,使用T-SQL命令将备份恢复到新的位置。但是如果你有很多备份要恢复,一个一个查询又费力又费时,你可以选择省力的方式:傲梅企业备份网络版.

作为一款专业的SQL Server数据库备份软件,它可以让您轻松上手管理局域网内所有笔记本电脑、工作站和服务器的备份和恢复,无需高深的知识。什么时候恢复SQL Server的多个数据库,它会制作一个清晰的备份文件列表供您选择。所以,你不需要自己检查它们。

这是为您提供的180天免费试用:

要正确使用傲梅企业备份网络版,您可以按照以下步骤操作:

启动傲梅企业备份网络版,然后通过单击“计算机” > “安装客户端程序”远程或手动安装代理程序。

安装客户端程序

对于手动安装了客户端程序的计算机,您仍然需要对其进行“请求控制才能进行进一步的操作”

单击“计算机” > “不受控制的计算机”以找到正确的 IP,然后单击上方栏中的“请求控制” 。他们的计算机上会显示一个提示窗口,一旦获得所有权限,您就可以随时开始。

请求控制

选择Tasks > New Task > SQL Server Backup创建一个新的备份任务,按照提示窗口中的3个步骤,你可以轻松创建多个SQL Server数据库的自动备份任务。

SQL Server 备份过程

恢复多个 SQL 备份的 3 个快速步骤

使用傲梅企业备份网络版创建的备份任务将全部单独显示在任务选项卡上。您可以在此处管理或恢复它们,而不是在磁盘上定位特定的 bak 文件。

1. 单击任务左上角的“任务”>“高级,选择”“恢复”继续。

选择恢复

2. 在此步骤中,您可以选择要从中还原的计算机和特定备份(完整/差异) ,您可以根据需要选择其中的数据库

选择特定备份

3. 选择将数据库还原“到原始位置或新位置”。通过选择第二个选项,您可以在同一或局域网中的另一个 SQL Server 上指定另一个实例。然后单击“开始还原”以完成此任务。

恢复到新位置

概括

在本文中,我介绍了 MSSQL仅还原文件列表选项、Restore 语句中的其他 3 个参数以及如何使用它们。如果您想在执行 SQL Server 数据库还原之前参考备份中的信息,它们会很有帮助。

但是如果你有很多备份要恢复,一个一个查询起来又费力又费时,你可以选择一款省力的工具:傲梅企业备份网络版,轻松管理局域网内所有计算机的备份和恢复,无需高级知识。

恢复时,它会制作一个备份文件列表,因此您不必自己检查它们。专为企业设计,可大大提升工作效率。