RESTORE-Anweisungen - FILELISTONLY (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Gibt ein Resultset mit einer Liste der Datenbank- und Protokolldateien zurück, die im Sicherungssatz in SQL Server enthalten sind.

Hinweis

Eine Beschreibung der Argumente finden Sie unter RESTORE-Argumente (Transact-SQL).

Transact-SQL-Syntaxkonventionen

Syntax

RESTORE FILELISTONLY   
FROM <backup_device>   
[ WITH   
 {  
--Backup Set Options  
   FILE = { backup_set_file_number | @backup_set_file_number }   
 | PASSWORD = { password | @password_variable }   
 | [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_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 | URL } = { 'physical_backup_device_name' |  
       @physical_backup_device_name_var }   
}  

Hinweis

URL ist das Format, das verwendet wird, um den Speicherort und den Dateinamen für Microsoft Azure Blob Storage anzugeben und wird ab SQL Server 2012 (11.x) SP1 mit dem kumulativen Update 2 (CU2) unterstützt. Obwohl es sich bei Microsoft Azure Storage um einen Dienst handelt, ist die Implementierung mit einem Datenträger und Band vergleichbar, um für alle drei Geräte eine konsistente und nahtlose Wiederherstellung zu ermöglichen.

Argumente

Eine Beschreibung der RESTORE FILELISTONLY-Argumente finden Sie unter RESTORE-Argumente (Transact-SQL).

Resultsets

Ein Client kann mit RESTORE FILELISTONLY eine Liste der in einem Sicherungssatz enthaltenen Dateien abrufen. Diese Informationen werden als Resultset zurückgegeben, das eine Zeile für jede Datei enthält.

Spaltenname Datentyp BESCHREIBUNG
LogicalName nvarchar(128) Logischer Name der Datei.
PhysicalName nvarchar(260) Physischer Name oder Betriebssystemname der Datei.
type char(1) Einer der folgenden Dateitypen:

L = Microsoft SQL Server-Protokolldatei

D = SQL Server-Datendatei

F = Volltextkatalog

S = Filestream, Dateitabelle oder In-Memory-OLTP-Container
FileGroupName nvarchar(128) NULL Name der Dateigruppe, die die Datei enthält.
Size numeric(20,0) Aktuelle Größe in Bytes.
MaxSize numeric(20,0) Maximal zulässige Größe in Bytes.
FileID bigint Eindeutiger Dateibezeichner in der Datenbank.
CreateLSN numeric(25,0) Protokollfolgenummer, bei der die Datei erstellt wurde.
DropLSN numeric(25,0) NULL Die Protokollfolgenummer, bei der die Datei gelöscht wurde. Wurde die Datei nicht gelöscht, ist dieser Wert NULL.
UniqueID uniqueidentifier Global eindeutiger Bezeichner der Datei.
ReadOnlyLSN numeric(25,0) NULL Protokollfolgenummer, bei der die Dateigruppe mit der Datei von Lesen/Schreiben zu Schreibgeschützt geändert wurde (letzte Änderung).
ReadWriteLSN numeric(25,0) NULL Protokollfolgenummer, bei der die Dateigruppe mit der Datei von Nur Lesen zu Schreibgeschützt geändert wurde (letzte Änderung).
BackupSizeInBytes bigint Größe der Sicherung dieser Datei in Bytes.
SourceBlockSize int Blockgröße des physischen Geräts mit der Datei in Bytes (nicht des Sicherungsmediums).
FileGroupID int ID der Dateigruppe.
LogGroupGUID uniqueidentifier NULL NULL.
DifferentialBaseLSN numeric(25,0) NULL Bei differenziellen Sicherungen sind Änderungen mit Protokollfolgenummern größer als oder gleich DifferentialBaseLSN in der differenziellen Sicherung eingeschlossen.

Bei anderen Sicherungstypen ist der Wert NULL.
DifferentialBaseGUID uniqueidentifier NULL Bei differenziellen Sicherungen der eindeutige Bezeichner der differenziellen Basis.

Bei anderen Sicherungstypen ist der Wert NULL.
IsReadOnly bit 1 = Die Datei ist schreibgeschützt.
IsPresent bit 1 = Die Datei ist in der Sicherung enthalten.
TDEThumbprint varbinary(32) NULL Zeigt den Fingerabdruck des Datenbankverschlüsselungs-Schlüssels an. Der Verschlüsselungsfingerabdruck ist ein SHA-1-Hash des Zertifikats, mit dem der Schlüssel verschlüsselt wurde. Informationen zur Datenbankverschlüsselung finden Sie unter Transparent Data Encryption (TDE).
SnapshotURL nvarchar(360) NULL Gilt für: SQL Server (SQL Server 2016 (13.x) (CU1)) bis zur aktuellen Version.

Die URL für die Azure-Momentaufnahme der in der FILE_SNAPSHOT-Sicherung enthaltenen Datenbankdatei. Gibt NULL zurück, wenn keine FILE_SNAPSHOT-Sicherung vorhanden ist.

Sicherheit

Bei einem Sicherungsvorgang können optional Kennwörter für einen Mediensatz, einen Sicherungssatz oder für beides angegeben werden. Wurde ein Kennwort für einen Mediensatz oder Sicherungssatz definiert, müssen die richtigen Kennwörter in der RESTORE-Anweisung angegeben werden. Über diese Kennwörter werden nicht autorisierte Wiederherstellungsoptionen und unbefugtes Anfügen von Sicherungssätzen an Medien mithilfe der Tools von Microsoft SQL Server verhindert. Mit einem Kennwort kann jedoch das Überschreiben eines Mediums mithilfe der Option FORMAT der BACKUP-Anweisung nicht verhindert werden.

Wichtig

Dieses Kennwort bietet also nur unzureichenden Schutz. Es soll vermeiden, dass autorisierte wie nicht autorisierte Benutzer mithilfe von SQL Server-Tools fehlerhafte Wiederherstellungen durchführen. Es verhindert jedoch nicht das Lesen der Sicherungsdaten mit anderen Mitteln oder das Ersetzen des Kennworts. Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Eine bewährte Methode für den Schutz von Sicherungen ist das Verwahren von Sicherungsbändern an einem sicheren Ort oder das Sichern in Datenträgerdateien, die durch eine adäquate Zugriffssteuerungsliste (Access Control List oder ACL) geschützt sind. Die ACLs sollten für den Verzeichnisstamm eingerichtet werden, unter dem die Sicherungen erstellt werden.

Berechtigungen

Ab SQL Server 2008 (10.0.x) benötigen Sie die CREATE DATABASE-Berechtigung, um Informationen zu Sicherungssätzen oder Sicherungsmedien abzurufen. Weitere Informationen finden Sie unter GRANT (Datenbankberechtigungen) (Transact-SQL).

Beispiele

Im folgenden Beispiel werden Informationen vom Sicherungsmedium AdventureWorksBackups zurückgegeben. Das Beispiel verwendet die FILE-Option zum Angeben des zweiten Sicherungssatzes auf dem Gerät.

RESTORE FILELISTONLY FROM AdventureWorksBackups   
   WITH FILE=2;  
GO  

Weitere Informationen

BACKUP (Transact-SQL)
Mediensätze, Medienfamilien und Sicherungssätze (SQL Server)
RESTORE REWINDONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
RESTORE (Transact-SQL)
Sicherungsverlauf und Headerinformationen (SQL Server)