RESTORE HEADERONLY (Transact-SQL)
Gibt ein Resultset mit allen Sicherungsheaderinformationen für alle Sicherungssätze auf einem bestimmten Sicherungsmedium zurück.
Hinweis |
---|
Die Beschreibungen der Argumente finden Sie unter RESTORE-Argumente (Transact-SQL). |
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:
Hinweis |
---|
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. |
Hinweis |
---|
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.
Wichtig
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 |
Hinweis |
---|
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.
Sicherheitshinweis |
---|
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
Siehe auch