RESTORE-Anweisungen - FILELISTONLY (Transact-SQL)
Gilt für: SQL Server Azure 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)