RESTORE-Anweisungen – HEADERYONLY (Transact-SQL)
Gilt für: SQL Server Azure SQL Managed Instance
Gibt ein Resultset mit allen Sicherungsheaderinformationen für alle Sicherungssätze auf einem bestimmten Sicherungsmedium in SQL Server zurück.
Hinweis
Eine Beschreibung der Argumente finden Sie unter RESTORE-Argumente (Transact-SQL).
Transact-SQL-Syntaxkonventionen
Syntax
RESTORE HEADERONLY
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 Azure Blob Storage anzugeben. Es wird ab SQL Server 2012 (11.x) SP1 mit dem kumulativen Update 2 (CU2) unterstützt. Obwohl es sich bei 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
Beschreibungen der RESTORE HEADERONLY
-Argumente finden Sie unter RESTORE-Argumente (Transact-SQL).
Resultsets
Zu jeder Sicherung auf dem jeweiligen Medium sendet der Server eine Zeile mit Headerinformationen, die aus den folgenden Spalten besteht:
Spaltenname | Datentyp | Beschreibung für SQL Server-Sicherungssätze |
---|---|---|
BackupName 1 |
nvarchar(128) | Name des Sicherungssatzes. |
BackupDescription |
nvarchar(255) | Beschreibung des Sicherungssatzes. Kann den Wert NULL haben. |
BackupType |
smallint | Sicherungstyp: 1 = Datenbank 2 = Transaktionsprotokoll 4 = Datei 5 = Datenbank differenziell 6 = Datei differenziell 7 = Teilweise 8 = Teilweise differenziell |
ExpirationDate |
datetime | Ablaufdatum für den Sicherungssatz. |
Compressed |
bit | Ob der Sicherungssatz mit der softwarebasierten Kompression komprimiert wird. 0 = Nein 1 = Ja |
Position |
smallint | Position des Sicherungssatzes auf dem Volume (Verwendung mit der Option FILE =). |
DeviceType |
tinyint | Zahl, die dem für den Sicherungsvorgang verwendeten Medientyp entspricht. Datenträger: – 2 = Logisch – 102 = Physisch Band: – 5 = Logisch – 105 = Physisch Virtuelles Medium: – 7 = Logisch – 107 = Physisch URL: – 9 = Logisch – 109 = Physisch Die Namen logischer Geräte und die Gerätenummern befinden sich in sys.backup_devices . Weitere Informationen finden Sie unter sys.backup_devices. |
UserName |
nvarchar(128) | Name des Benutzers, der den Sicherungsvorgang ausgeführt hat. |
ServerName |
nvarchar(128) | Name des Servers, der den Sicherungssatz geschrieben hat. |
DatabaseName |
nvarchar(128) | Name der Datenbank, die gesichert wurde. |
DatabaseVersion |
int | Version der Datenbank, von der die Sicherung erstellt wurde. |
DatabaseCreationDate |
datetime | Datum und Uhrzeit der Erstellung der Datenbank. |
BackupSize |
numeric(20,0) | Größe der Sicherung in Bytes. |
FirstLSN |
numeric(25,0) | Protokollfolgenummer des ersten Protokolldatensatzes im Sicherungssatz. |
LastLSN |
numeric(25,0) | Protokollfolgenummer des nächsten Protokolldatensatzes nach dem Sicherungssatz. |
CheckpointLSN |
numeric(25,0) | Protokollsequenznummer des letzten Prüfpunkts zum Zeitpunkt der Erstellung der Sicherung. |
DatabaseBackupLSN |
numeric(25,0) | Protokollsequenznummer der neuesten vollständigen Datenbanksicherung.DatabaseBackupLSN ist der „Startprüfpunkt“, der beim Starten der Sicherung ausgelöst wird. Dieser LSN stimmt mit dem Wert für FirstLSN überein, wenn die Sicherung erstellt wird, während sich die Datenbank im Leerlauf befindet und keine Replikation konfiguriert ist. |
BackupStartDate |
datetime | Datum und Uhrzeit des Beginns des Sicherungsvorgangs. |
BackupFinishDate |
datetime | Datum und Uhrzeit des Endes des Sicherungsvorgangs. |
SortOrder |
smallint | Sortierreihenfolge für den Server. Diese Spalte gilt nur für Datenbanksicherungen. Dieser Parameter wird aus Gründen der Abwärtskompatibilität bereitgestellt. |
CodePage |
smallint | Servercodepage; das ist der vom Server verwendete Zeichensatz. |
UnicodeLocaleId |
int | Serverseitige Konfigurationsoptionen für die Unicode-Gebietsschema-ID, die für die Sortierung von Unicode-Zeichendaten verwendet wird. Dieser Parameter wird aus Gründen der Abwärtskompatibilität bereitgestellt. |
UnicodeComparisonStyle |
int | Serverseitige Konfigurationsoption für die Unicode-Vergleichsart, die zusätzliche Steuerungsmöglichkeiten im Vergleich zur Sortierung von Unicode-Daten bereitstellt. Dieser Parameter wird aus Gründen der Abwärtskompatibilität bereitgestellt. |
CompatibilityLevel |
tinyint | Einstellung des Kompatibilitätsgrades der Datenbank, von der aus die Sicherung erstellt wurde. |
SoftwareVendorId |
int | ID des Softwareanbieters. Für SQL Server lautet diese Nummer 4608 (oder im Hexadezimalformat 0x1200 ). |
SoftwareVersionMajor |
int | Wichtigste Versionsnummer des Servers, der den Sicherungssatz erstellt hat. |
SoftwareVersionMinor |
int | Untergeordnete Versionsnummer des Servers, der den Sicherungssatz erstellt hat. |
SoftwareVersionBuild |
int | Buildnummer des Servers, der den Sicherungssatz erstellt hat. |
MachineName |
nvarchar(128) | Name des Computers, der den Sicherungsvorgang ausgeführt hat. |
Flags |
int | Die einzelnen Flagbits stehen für Folgendes: – 1 = Protokollsicherung enthält massenprotokollierte Vorgänge. – 2 = Momentaufnahmesicherung. – 4 = Datenbank war zum Zeitpunkt der Sicherung schreibgeschützt. – 8 = Datenbank war zum Zeitpunkt der Sicherung im Einzelbenutzermodus. – 16 = Sicherung enthält Sicherungsprüfsummen. – 32 = Datenbank war zum Zeitpunkt der Sicherung beschädigt. Trotz der Fehler wurde die Fortsetzung des Sicherungsvorgangs angefordert. – 64 = Sicherung des Protokollfragments. – 128 = Sicherung des Protokollfragments mit unvollständigen Metadaten. – 256 = Sicherung des Protokollfragments mithilfe von NORECOVERY. Wichtig: Anstelle von Flags sollten die einzelnen booleschen Spalten (von HasBulkLoggedData bis IsCopyOnly in dieser Tabelle) verwendet werden. |
BindingID |
uniqueidentifier | Bindungs-ID für die Datenbank. Dieser Wert entspricht database_guid in sys.database_recovery_status . Wenn eine Datenbank wiederhergestellt wird, wird ein neuer Wert zugewiesen. Siehe auch FamilyGUID . |
RecoveryForkID |
uniqueidentifier | ID für den letzten Wiederherstellungs-Verzweigungspunkt. Diese Spalte entspricht dem Wert von last_recovery_fork_guid in der backupset-Tabelle.Bei Datensicherungen entspricht RecoveryForkID FirstRecoveryForkID . |
Collation |
nvarchar(128) | Die von der Datenbank verwendete Sortierung. |
FamilyGUID |
uniqueidentifier | ID der ursprünglichen Datenbank zum Zeitpunkt der Erstellung. Der Wert bleibt unverändert, wenn die Datenbank wiederhergestellt wird. |
HasBulkLoggedData |
bit | 1 = Protokollsicherung, die massenprotokollierte Vorgänge enthält. |
IsSnapshot |
bit | 1 = Momentaufnahmesicherung |
IsReadOnly |
bit | 1 = Datenbank war zum Zeitpunkt der Sicherung schreibgeschützt. |
IsSingleUser |
bit | 1 = Datenbank war zum Zeitpunkt der Sicherung im Einzelbenutzermodus. |
HasBackupChecksums |
bit | 1 = Die Sicherung enthält Sicherungsprüfsummen. |
IsDamaged |
bit | 1 = Datenbank war zum Zeitpunkt der Sicherung beschädigt; trotz der Fehler wurde die Fortsetzung des Sicherungsvorgangs angefordert. |
BeginsLogChain |
bit | 1 = Die erste in einer kontinuierlichen Kette von Protokollsicherungen. Eine Protokollkette beginnt mit der ersten Protokollsicherung, die erstellt wird, nachdem die Datenbank angelegt wurde oder nachdem ein Wechsel vom einfachen zum vollständigen oder massenprotokollierten Wiederherstellungsmodell erfolgt ist. |
HasIncompleteMetaData |
bit | 1 = Eine Sicherung des Protokollfragments mit unvollständigen Metadaten. Informationen zu Sicherungen von Protokollfragmenten mit unvollständigen Metadaten finden Sie unter Protokollfragmentsicherungen (SQL Server). |
IsForceOffline |
bit | 1 = Sicherung erfolgte mithilfe von NORECOVERY; die Datenbank wurde durch die Sicherung offline geschaltet. |
IsCopyOnly |
bit | 1 = Eine Kopiesicherung. Eine Kopiesicherung wirkt sich nicht auf die Sicherungs- und Wiederherstellungsprozeduren für die Datenbank aus. Weitere Informationen finden Sie unter Kopiesicherungen (SQL Server). |
FirstRecoveryForkID |
uniqueidentifier | ID für den ersten Wiederherstellungs-Verzweigungspunkt. Diese Spalte entspricht dem Wert von first_recovery_fork_guid in der backupset-Tabelle.Bei Datensicherungen entspricht FirstRecoveryForkID RecoveryForkID . |
ForkPointLSN |
numeric(25,0) | Wenn FirstRecoveryForkID nicht mit RecoveryForkID identisch ist, entspricht dieser Wert der Protokollfolgenummer des Forkpunkts. Andernfalls ist der Wert NULL. |
RecoveryModel |
nvarchar(60) | Wiederherstellungsmodell für die Datenbank. Folgende Werte sind möglich: – FULL – BULK-LOGGED – SIMPLE |
DifferentialBaseLSN |
numeric(25,0) | Bei einer differenziellen Sicherung auf einer einzigen Basis entspricht dieser Wert der FirstLSN der differenziellen Basis. Änderungen mit LSNs größer oder gleich DifferentialBaseLSN werden bei der differenziellen Sicherung berücksichtigt.Bei einer differenziellen Sicherung auf der Basis mehrerer Basissicherungen ist der Wert NULL, und die Basis-LSN muss auf Dateiebene bestimmt werden. Weitere Informationen finden Sie unter RESTORE FILELISTONLY. Bei nicht differenziellen Sicherungstypen ist der Wert immer NULL. Weitere Informationen finden Sie unter Differenzielle Sicherungen (SQL Server). |
DifferentialBaseGUID |
uniqueidentifier | Bei einer differenziellen Sicherung auf der Basis einer Sicherung entspricht dieser Wert dem eindeutigen Bezeichner der differenziellen Basis. Bei einer differenziellen Sicherung auf der Basis mehrerer Basissicherungen ist der Wert NULL; die Basis für die differenzielle Sicherung muss dateibasiert ermittelt werden. Bei nicht differenziellen Sicherungstypen ist der Wert NULL. |
BackupTypeDescription |
nvarchar(60) | Sicherungstyp in Form einer Zeichenfolge. Folgende Werte sind möglich: – DATABASE – TRANSACTION LOG – FILE OR FILEGROUP – DATABASE DIFFERENTIAL – FILE DIFFERENTIAL PARTIAL – PARTIAL DIFFERENTIAL |
BackupSetGUID |
uniqueidentifier | Eindeutige ID des Sicherungssatzes, die zur Identifizierung des Sicherungssatzes auf dem Medium dient. Kann den Wert NULL haben. |
CompressedBackupSize |
bigint | Bytezahl des Sicherungssatzes. Für nicht komprimierte Sicherungen entspricht dieser Wert dem Wert für BackupSize .Um das Komprimierungsverhältnis zu berechnen, verwenden Sie CompressedBackupSize und BackupSize .Während eines msdb -Upgrades wird dieser Wert mit dem Wert der Spalte BackupSize abgeglichen. |
containment |
tinyint | Gilt für: SQL Server 2012 (11.x) und höhere Versionen. Zeigt den Kapselungsstatus der Datenbank an. 0 = Datenbankkapselung ist deaktiviert 1 = Datenbank ist in Teilkapselung |
KeyAlgorithm |
nvarchar(32) | Gilt für: SQL Server 2014 (12.x) CU 1 und höhere Versionen. Der Verschlüsselungsalgorithmus, der zum Verschlüsseln der Sicherung verwendet wird. NO_Encryption gibt an, dass die Sicherung nicht verschlüsselt wurde. Wenn der richtige Wert nicht bestimmt werden kann, sollte der Wert NULL sein. |
EncryptorThumbprint |
varbinary(20) | Gilt für: SQL Server 2014 (12.x) CU 1 und höhere Versionen. Der Fingerabdruck der Verschlüsselung, der verwendet werden kann, um das Zertifikat oder den asymmetrischen Schlüssel in der Datenbank zu ermitteln. Wenn die Sicherung nicht verschlüsselt wurde, ist dieser Wert NULL. |
EncryptorType |
nvarchar(32) | Gilt für: SQL Server 2014 (12.x) CU 1 und höhere Versionen. Verwendeter Verschlüsselungstyp: Zertifikat oder asymmetrischer Schlüssel. Wenn die Sicherung nicht verschlüsselt wurde, ist dieser Wert NULL. |
LastValidRestoreTime |
datetime | Gilt für: SQL Server 2022 (16.x) und höhere Versionen. Die letzte gültige Wiederherstellungszeit. |
TimeZone |
nvarchar(32) | Gilt für: SQL Server 2022 (16.x) und höhere Versionen. Die Zeitzone des Servers, von dem die Sicherung erstellt wurde. |
CompressionAlgorithm |
nvarchar(32) | Gilt für: SQL Server 2022 (16.x) und höhere Versionen. Identifiziert den Komprimierungsalgorithmus, der zum Komprimieren der Sicherungsdatei verwendet wird. Der Standardwert lautet MS_XPRESS. Weitere Informationen finden Sie unter SICHERUNG. |
1 Wenn für die Sicherungssätze Kennwörter definiert sind, gibt RESTORE HEADERONLY
vollständige Informationen nur für den Sicherungssatz zurück, dessen Kennwort mit dem Kennwort übereinstimmt, das mit der Befehlsoption PASSWORD
angegeben wird. Außerdem gibt RESTORE HEADERONLY
vollständige Informationen zu ungeschützten Sicherungssätzen zurück. Für die anderen auf dem Medium befindlichen kennwortgeschützten Sicherungssätze wird die Spalte BackupName
auf 'Password Protected'
festgelegt; alle anderen Spalten weisen den Wert NULL auf.
Bemerkungen
Ein Client kann RESTORE HEADERONLY
zum Abrufen aller Headerinformationen für alle Sicherungen auf einem bestimmten Sicherungsmedium verwenden. Für jede Sicherung auf dem Sicherungsmedium sendet der Server die Headerinformationen als Zeile zurück.
RESTORE HEADERONLY
liest alle Sicherungssätze auf dem Medium. Beim Verwenden von Bandlaufwerken mit hoher Kapazität kann die Erstellung dieses Resultsets daher eine gewisse Zeit in Anspruch nehmen. Wenn die Medien schnell gelesen werden sollen, ohne dass Informationen zu jedem Sicherungssatz abgerufen werden, sollten Sie RESTORE LABELONLY
verwenden oder FILE = <backup_set_file_number>
angeben.
Aufgrund der Eigenschaften von Microsoft Tape Format können Sicherungssätze anderer Softwareprogramme Speicherplatz auf demselben Medium wie SQL Server-Sicherungssätze belegen. Das von RESTORE HEADERONLY
zurückgegebene Resultset schließt eine Zeile für jeden dieser anderen Sicherungssätze ein.
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 SQL Server verhindert. Mit einem Kennwort kann jedoch das Überschreiben eines Mediums durch die 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 Features bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die dieses Feature 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, ACL) geschützt sind. Die ACLs sollten für den Verzeichnisstamm eingerichtet werden, unter dem die Sicherungen erstellt werden.
Berechtigungen
Sie benötigen 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 die Informationen im Header der Datenträgerdatei C:\AdventureWorks-FullBackup.bak
zurückgegeben.
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks-FullBackup.bak';
GO
Siehe auch
- BACKUP (Transact-SQL)
- backupset (Transact-SQL)
- RESTORE REWINDONLY (Transact-SQL)
- RESTORE VERIFYONLY (Transact-SQL)
- RESTORE (Transact-SQL)
- Sicherungsverlauf und Headerinformationen (SQL Server)
- Aktivieren oder Deaktivieren von Sicherungsprüfsummen während der Sicherung oder Wiederherstellung (SQL Server)
- Mediensätze, Medienfamilien und Sicherungssätze (SQL Server)
- Wiederherstellungsmodelle (SQL Server)