RESTORE HEADERONLY (Transact-SQL)

Gibt ein Resultset mit allen Sicherungsheaderinformationen für alle Sicherungssätze auf einem bestimmten Sicherungsmedium zurück.

HinweisHinweis

Die Beschreibungen der Argumente finden Sie unter RESTORE-Argumente (Transact-SQL).

Themenlink (Symbol) 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 } 

--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 } = { 'physical_backup_device_name' |
       @physical_backup_device_name_var } 
} 

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:

HinweisHinweis

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.

HinweisHinweis

Aufgrund der Eigenschaften von Microsoft Tape Format können Sicherungssätze anderer Softwareprogramme Speicherplatz auf demselben Medium wie Microsoft SQL Server-Sicherungssätze belegen. Das von RESTORE HEADERONLY zurückgegebene Resultset schließt eine Zeile für jeden dieser anderen Sicherungssätze ein.

Spaltenname

Datentyp

Beschreibung für SQL Server-Sicherungssätze

BackupName

nvarchar(128)

Name des Sicherungssatzes.

BackupDescription

nvarchar(255)

Beschreibung des Sicherungssatzes.

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

BYTE(1)

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

Namen und Nummern von logischen Medien sind in sys.backup_devices gespeichert; weitere Informationen finden Sie unter sys.backup_devices (Transact-SQL).

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 die Datenbank im Leerlauf 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 Bedeutungen der einzelnen Flagbits, wenn diese auf 1 festgelegt sind, lauten folgendermaßen:

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 des Sicherungsvorgangs beschädigt; trotz der Fehler wurde jedoch die Fortsetzung des Sicherungsvorgangs angefordert.

64 = Sicherung des Protokollfragments.

128 = Sicherung des Protokollfragments mit unvollständigen Metadaten.

256 = Sicherung des Protokollfragments mithilfe von NORECOVERY.

Wichtiger HinweisWichtig

Anstelle von Flags sollten die einzelnen booleschen Spalten (weiter unten von HasBulkLoggedData bis IsCopyOnly aufgeführt) verwendet werden.

BindingID

uniqueidentifier

Bindungs-ID für die Datenbank. Sie entspricht dem Wert von database_guid in sys.database_recovery_status. Wenn eine Datenbank wiederhergestellt wird, wird ein neuer Wert zugewiesen. Siehe auch FamilyGUID (weiter unten).

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 ist RecoveryForkID mit FirstRecoveryForkID identisch.

Sortierung

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 = 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 wurde, nachdem die Datenbank erstellt 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 = 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 ist FirstRecoveryForkID mit RecoveryForkID identisch.

ForkPointLSN

numeric(25,0) NULL

Entspricht der Protokollfolgenummer des Verzweigungspunkts, wenn FirstRecoveryForkID nicht mit RecoveryForkID identisch ist. 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) NULL

Bei einer differenziellen Sicherung auf der Basis einer einzelnen Basissicherung entspricht dieser Wert dem Wert von FirstLSN der differenziellen Basis. Änderungen mit LSNs, die größer oder gleich dem Wert von DifferentialBaseLSN sind, werden in die differenzielle Sicherung eingeschlossen.

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 (Transact-SQL).

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 einzelnen Basissicherung 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 NULL

Eindeutige ID des Sicherungssatzes, die zur Identifizierung des Sicherungssatzes auf dem Medium dient.

CompressedBackupSize

bigint

Bytezahl des Sicherungssatzes. Für nicht komprimierte Sicherungen ist dieser Wert gleich dem Wert für BackupSize.

Zur Berechnung der Komprimierungsrate verwenden Sie CompressedBackupSize und BackupSize.

Während eines msdb-Upgrades wird dieser Wert mit dem Wert der Spalte BackupSize abgeglichen.

containment

tinyint nicht NULL

Zeigt den Kapselungsstatus der Datenbank an.

0 = Datenbankkapselung ist deaktiviert

1 = Datenbank ist in Teilkapselung

HinweisHinweis

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 die vollständigen Informationen zu ungeschützten Sicherungssätzen zurück. Für die anderen auf dem Medium befindlichen kennwortgeschützten Sicherungssätze wird die BackupName-Spalte auf '***Password Protected***' festgelegt; alle anderen Spalten weisen den Wert NULL auf.

Allgemeine Hinweise

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.

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 Wiederherstellungsvorgänge und nicht autorisiertes 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.

SicherheitshinweisSicherheitshinweis

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 zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. 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 (ACL, Access Control List) geschützt sind. Die ACLs sollten für den Verzeichnisstamm eingerichtet werden, unter dem die Sicherungen erstellt werden.

Berechtigungen

In SQL Server 2008 und höheren Versionen 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 die Informationen im Header der Datenträgerdatei C:\AdventureWorks-FullBackup.bak zurückgegeben.

RESTORE HEADERONLY 
FROM DISK = N'C:\AdventureWorks-FullBackup.bak' 
WITH NOUNLOAD;
GO

Siehe auch

Verweis

BACKUP (Transact-SQL)

backupset (Transact-SQL)

RESTORE REWINDONLY (Transact-SQL)

RESTORE VERIFYONLY (Transact-SQL)

RESTORE (Transact-SQL)

Konzepte

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)