Freigeben über


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 MicrosoftSQL 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

Beschreibung für andere Sicherungssätze

BackupName

nvarchar(128)

Name des Sicherungssatzes.

Name des Datasets.

BackupDescription

nvarchar(255)

Beschreibung des Sicherungssatzes.

Beschreibung des Datasets.

BackupType

smallint

Art der Sicherung:

1 = Datenbank

2 = Transaktionsprotokoll

4 = Datei

5 = Datenbank differenziell

6 = Datei differenziell

7 = Teilweise

8 = Teilweise differenziell

Art der Sicherung:

1 = Normal

5 = Differenziell

16 = Inkrementell

17 = Täglich

ExpirationDate

datetime

Ablaufdatum für den Sicherungssatz.

NULL

Compressed

BYTE(1)

Ob der Sicherungssatz mit der softwarebasierten Kompression komprimiert wird.

0 = Nein

1 = Ja

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 =).

Position des Sicherungssatzes auf dem Volume

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).

NULL

UserName

nvarchar(128)

Name des Benutzers, der den Sicherungsvorgang ausgeführt hat.

Name des Benutzers, der den Sicherungsvorgang ausgeführt hat.

ServerName

nvarchar(128)

Name des Servers, der den Sicherungssatz geschrieben hat.

NULL

DatabaseName

nvarchar(128)

Name der Datenbank, die gesichert wurde.

NULL

DatabaseVersion

int

Version der Datenbank, von der die Sicherung erstellt wurde.

NULL

DatabaseCreationDate

datetime

Datum und Uhrzeit der Erstellung der Datenbank.

NULL

BackupSize

numeric(20,0)

Größe der Sicherung in Bytes.

NULL

FirstLSN

numeric(25,0)

Protokollfolgenummer des ersten Protokolldatensatzes im Sicherungssatz.

NULL

LastLSN

numeric(25,0)

Protokollfolgenummer des nächsten Protokolldatensatzes nach dem Sicherungssatz.

NULL

CheckpointLSN

numeric(25,0)

Protokollsequenznummer des letzten Prüfpunktes zum Zeitpunkt der Erstellung der Sicherung.

NULL

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 ist und keine Replikation konfiguriert ist.

NULL

BackupStartDate

datetime

Datum und Uhrzeit des Beginns des Sicherungsvorgangs.

Schreibdatum für Medium

BackupFinishDate

datetime

Datum und Uhrzeit des Endes des Sicherungsvorgangs.

Schreibdatum für Medium

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.

NULL

CodePage

smallint

Servercodepage; das ist der vom Server verwendete Zeichensatz.

NULL

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.

NULL

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.

NULL

CompatibilityLevel

tinyint

Einstellung des Kompatibilitätsgrades der Datenbank, von der aus die Sicherung erstellt wurde.

NULL

SoftwareVendorId

int

ID des Softwareanbieters. Für SQL Server lautet diese Nummer 4608 (oder im Hexadezimalformat 0x1200).

ID des Softwareanbieters

SoftwareVersionMajor

int

Wichtigste Versionsnummer des Servers, der den Sicherungssatz erstellt hat.

Wichtigste Versionsnummer der Software, die den Sicherungssatz erstellt hat.

SoftwareVersionMinor

int

Untergeordnete Versionsnummer des Servers, der den Sicherungssatz erstellt hat.

Untergeordnete Versionsnummer der Software, die den Sicherungssatz erstellt hat.

SoftwareVersionBuild

int

Buildnummer des Servers, der den Sicherungssatz erstellt hat.

NULL

MachineName

nvarchar(128)

Name des Computers, der den Sicherungsvorgang ausgeführt hat.

Typ 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 = Snapshotsicherung.

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.

NULL

BindingID

uniqueidentifier

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

NULL

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.

NULL

Collation

nvarchar(128)

Die von der Datenbank verwendete Sortierung.

NULL

FamilyGUID

uniqueidentifier

ID der ursprünglichen Datenbank zum Zeitpunkt der Erstellung. Der Wert bleibt unverändert, wenn die Datenbank wiederhergestellt wird.

NULL

HasBulkLoggedData

bit

1 = Protokollsicherung, die massenprotokollierte Vorgänge enthält.

NULL

IsSnapshot

bit

1 = Snapshotsicherung.

NULL

IsReadOnly

bit

1 = Datenbank war zum Zeitpunkt der Sicherung schreibgeschützt.

NULL

IsSingleUser

bit

1 = Datenbank war zum Zeitpunkt der Sicherung im Einzelbenutzermodus.

NULL

HasBackupChecksums

bit

1 = Sicherung enthält Sicherungsprüfsummen.

NULL

IsDamaged

bit

1 = Datenbank war zum Zeitpunkt der Sicherung beschädigt; trotz der Fehler wurde jedoch die Fortsetzung des Sicherungsvorgangs angefordert.

NULL

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.

NULL

HasIncompleteMetaData

bit

1 = Eine Sicherung des Protokollfragments mit unvollständigen Metadaten.

Informationen zu Sicherungen von Protokollfragmenten mit unvollständigen Metadaten finden Sie unter Sicherungen des Protokollfragments.

NULL

IsForceOffline

bit

1 = Sicherung erfolgte mithilfe von NORECOVERY; die Datenbank wurde durch die Sicherung offline geschaltet.

NULL

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.

NULL

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.

NULL

ForkPointLSN

numeric(25,0) NULL

Entspricht der Protokollfolgenummer des Verzweigungspunktes, wenn FirstRecoveryForkID nicht mit RecoveryForkID identisch ist. Andernfalls ist der Wert NULL.

NULL

RecoveryModel

nvarchar(60)

Wiederherstellungsmodell für die Datenbank. Folgende Werte sind möglich:

FULL

BULK-LOGGED

SIMPLE

NULL

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 Basis einer differenziellen Sicherung.

NULL

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.

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

Sicherungstyp in Form einer Zeichenfolge. Folgende Werte sind möglich:

NORMAL

DIFFERENTIAL

INCREMENTAL

DAILY

BackupSetGUID

uniqueidentifier NULL

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

NULL

CompressedBackupSize

uint64

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.

NULL

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.

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.

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).

Außerdem können optional Kennwörter für einen Mediensatz, für 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 MicrosoftSQL 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.

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