backupset (Transact-SQL)
Gilt für: SQL Server Azure SQL verwaltete Instanz Analytics Platform System (PDW)
Enthält eine Zeile für jeden Sicherungssatz. Ein Sicherungssatz enthält die Sicherung aus einem einzelnen, erfolgreichen Sicherungsvorgang. Die Anweisungen RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY und RESTORE VERIFYONLY verarbeiten einen einzelnen Sicherungssatz innerhalb des Mediensatzes auf den angegebenen Sicherungsmedien.
Diese Tabelle wird in der msdb
Datenbank gespeichert.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
backup_set_id | int | Eindeutige Sicherungssatz-ID, die den Sicherungssatz identifiziert. Identität, Primärschlüssel. |
backup_set_uuid | uniqueidentifier | Eindeutige Sicherungssatz-ID, die den Sicherungssatz identifiziert. |
media_set_id | int | Eindeutige Mediensatz-ID, die den Mediensatz identifiziert, der den Sicherungssatz enthält. Verweist auf backupmediaset(media_set_id). |
first_family_number | tinyint | Familiennummer des Mediums, bei dem der Sicherungssatz beginnt. Kann den Wert NULL haben. |
first_media_number | smallint | Mediennummer des Mediums, bei dem der Sicherungssatz beginnt. Kann den Wert NULL haben. |
last_family_number | tinyint | Familiennummer des Mediums, bei dem der Sicherungssatz endet. Kann den Wert NULL haben. |
last_media_number | smallint | Mediennummer des Mediums, bei dem der Sicherungssatz endet. Kann den Wert NULL haben. |
catalog_family_number | tinyint | Familiennummer des Mediums, das den Beginn des Sicherungssatzverzeichnisses enthält. Kann den Wert NULL haben. |
catalog_media_number | smallint | Mediennummer des Mediums, das den Beginn des Sicherungssatzverzeichnisses enthält. Kann den Wert NULL haben. |
position | int | Position des Sicherungssatzes, die in dem Wiederherstellungsvorgang zum Suchen nach dem geeigneten Sicherungssatz und den geeigneten Dateien verwendet wird. Kann den Wert NULL haben. Weitere Informationen finden Sie unter BACKUP (Transact-SQL) im Abschnitt „FILE“. |
expiration_date | datetime | Datum und Uhrzeit des Zeitpunkts, zu dem die Gültigkeit des Sicherungssatzes endet. Kann den Wert NULL haben. |
software_vendor_id | int | ID des Softwareanbieters, der den Sicherungsmedienheader schreibt. Kann den Wert NULL haben. |
name | nvarchar(128) | Name des Sicherungssatzes. Kann den Wert NULL haben. |
Beschreibung | nvarchar(255) | Beschreibung des Sicherungssatzes. Kann den Wert NULL haben. |
user_name | nvarchar(128) | Name des Benutzers, der den Sicherungsvorgang durchführt. Kann den Wert NULL haben. |
software_major_version | tinyint | Hauptversionsnummer von Microsoft SQL Server. Kann den Wert NULL haben. |
software_minor_version | tinyint | Nebenversionsnummer von SQL Server. Kann den Wert NULL haben. |
software_build_version | smallint | Buildnummer von SQL Server. Kann den Wert NULL haben. |
time_zone | smallint | Unterschied zwischen der lokalen Zeitzone (in der der Sicherungsvorgang stattfindet) und der koordinierten Weltzeit (UTC) in 15-Minuten-Intervallen unter Verwendung der Zeitzoneninformationen zu dem Zeitpunkt, an dem der Sicherungsvorgang gestartet wurde. Die Werte können zwischen -48 und +48 (einschließlich) liegen. Durch den Wert 127 wird angegeben, dass die Abweichung nicht bekannt ist. So entspricht z. B. der Wert -20 der Eastern Standard Time (EST) bzw. einer Zeit, die fünf Stunden nach der UTC liegt. Kann den Wert NULL haben. |
mtf_minor_version | tinyint | Nebenversionsnummer von Microsoft Tape Format. Kann den Wert NULL haben. |
first_lsn | numeric(25,0) | Protokollfolgenummer des ersten oder ältesten Protokolldatensatzes im Sicherungssatz. Kann den Wert NULL haben. |
last_lsn | numeric(25,0) | Protokollfolgenummer des nächsten Protokolldatensatzes nach dem Sicherungssatz. Kann den Wert NULL haben. |
checkpoint_lsn | numeric(25,0) | Protokollfolgenummer des Protokolldatensatzes, bei dem die Wiederholung beginnen muss. Kann den Wert NULL haben. |
database_backup_lsn | numeric(25,0) | Protokollsequenznummer der neuesten vollständigen Datenbanksicherung. Kann den Wert NULL haben. database_backup_lsn ist der „Startprüfpunkt“, der beim Starten der Sicherung ausgelöst wird. Wenn die Sicherung erstellt wird, während sich die Datenbank im Leerlauf befindet und keine Replikation konfiguriert ist, stimmt diese LSN mit dem Wert von first_lsn überein. |
database_creation_date | datetime | Datum und Uhrzeit des ursprünglichen Erstellens der Datenbank. Kann den Wert NULL haben. |
backup_start_date | datetime | Datum und Uhrzeit des Beginns des Sicherungsvorgangs. Kann den Wert NULL haben. |
backup_finish_date | datetime | Datum und Uhrzeit des Endes des Sicherungsvorgangs. Kann den Wert NULL haben. |
type | char(1) | Art der Sicherung. Mögliche Werte sind: D = Datenbank I = Datenbank differenziell L = Protokoll F = Datei oder Dateigruppe G = Datei differenziell P = Teilweise Q = Teilweise differenziell Kann den Wert NULL haben. |
sort_order | smallint | Sortierreihenfolge des Servers, der den Sicherungsvorgang durchführt. Kann den Wert NULL haben. Weitere Informationen zu Sortierreihenfolgen und Sortierungen finden Sie unter Sortierung und Unicode-Unterstützung. |
Codepage | smallint | Codepage des Servers, der den Sicherungsvorgang durchführt. Kann den Wert NULL haben. Weitere Informationen zu Codepages finden Sie unter Sortierung und Unicode-Unterstützung. |
compatibility_level | tinyint | Einstellung des Kompatibilitätsgrades für die Datenbank. Mögliche Werte sind: 90 = SQL Server 2005 (9.x) 100 = SQL Server 2008 (10.0.x) 110 = SQL Server 2012 (11.x) 120 = SQL Server 2014 (12.x) 130 = SQL Server 2016 (13.x) 140 = SQL Server 2017 (14.x) 150 = SQL Server 2019 (15.x) 160 = SQL Server 2022 (16.x) Kann den Wert NULL haben. Weitere Informationen zu den Kompatibilitätsgraden finden Sie unter ALTER DATABASE-Kompatibilitätsgrad (Transact-SQL). |
database_version | int | Versionsnummer der Datenbank. Kann den Wert NULL haben. |
backup_size | numeric(20,0) | Größe des Sicherungssatzes in Bytes. Kann den Wert NULL haben. Für VSS-Sicherungen ist „backup_size“ ein Schätzwert. |
database_name | nvarchar(128) | Name der an dem Sicherungsvorgang beteiligten Datenbank. Kann den Wert NULL haben. |
server_name | nvarchar(128) | Name des Servers, der den SQL Server-Sicherungsvorgang ausführt. Kann den Wert NULL haben. |
machine_name | nvarchar(128) | Name des Computers, auf dem SQL Serverausgeführt wird. Kann den Wert NULL haben. |
flags | int | In SQL Server wurde die Spalte flags als veraltet markiert und wird durch die folgenden bit-Spalten ersetzt: has_bulk_logged_data is_snapshot is_readonly is_single_user has_backup_checksums is_damaged begins_log_chain has_incomplete_metadata is_force_offline is_copy_only Kann den Wert NULL haben. In Sicherungssätzen früherer Versionen von SQL Server haben die Flagbits folgende Bedeutung: 1 = Die Sicherung enthält minimal protokollierte Daten. 2 = WITH SNAPSHOT wurde verwendet. 4 = Die Datenbank war zum Zeitpunkt der Sicherung schreibgeschützt. 8 = Die Datenbank befand sich zum Zeitpunkt der Sicherung im Einzelbenutzermodus. |
unicode_locale | int | Unicode-Gebietsschema. Kann den Wert NULL haben. |
unicode_compare_style | int | Unicode-Vergleichsstil. Kann den Wert NULL haben. |
collation_name | nvarchar(128) | Sortierungsname. Kann den Wert NULL haben. |
Is_password_protected | bit | Gibt an, ob der Sicherungssatz kennwortgeschützt ist: 0 = Nicht geschützt 1 = Geschützt |
recovery_model | nvarchar(60) | Wiederherstellungsmodell für die Datenbank: FULL BULK-LOGGED SIMPLE |
has_bulk_logged_data | bit | 1 = Die Sicherung enthält massenprotokollierte Daten. |
is_snapshot | bit | 1 = Die Sicherung wurde mithilfe der Option SNAPSHOT erstellt. |
is_readonly | bit | 1 = Die Datenbank war zum Zeitpunkt der Sicherung schreibgeschützt. |
is_single_user | bit | 1 = Die Datenbank befand sich zum Zeitpunkt der Sicherung im Einzelbenutzermodus. |
has_backup_checksums | bit | 1 = Die Sicherung enthält Sicherungsprüfsummen. |
is_damaged | bit | 1 = Beim Erstellen dieser Sicherung wurde eine Beschädigung der Datenbank festgestellt. Der Sicherungsvorgang sollte jedoch trotz der Fehler fortgesetzt werden. |
begins_log_chain | bit | 1 = Die erste in einer kontinuierlichen Kette von Protokollsicherungen. Eine Protokollkette beginnt mit der ersten Protokollsicherung, die erstellt wurde, nachdem die Datenbank angelegt wurde oder nachdem ein Wechsel vom einfachen zum vollständigen oder massenprotokollierten Wiederherstellungsmodell erfolgt ist. |
has_incomplete_metadata | bit | 1 = Eine Sicherung des Protokollfragments mit unvollständigen Metadaten. Weitere Informationen finden Sie unter Protokollfragmentsicherungen (SQL Server). |
is_force_offline | bit | 1 = Beim Erstellen der Sicherung wurde die Datenbank mithilfe der Option NORECOVERY offline geschaltet. |
is_copy_only | bit | 1 = Eine Kopiesicherung. Weitere Informationen finden Sie unter Kopiesicherungen (SQL Server). |
first_recovery_fork_guid | uniqueidentifier | ID des ersten Wiederherstellungs-Verzweigungspunkts. Dieser Wert entspricht dem FirstRecoveryForkID-Wert von RESTORE HEADERONLY. Bei Datensicherungen ist first_recovery_fork_guid mit last_recovery_fork_guid identisch. |
last_recovery_fork_guid | uniqueidentifier | ID des letzten Wiederherstellungs-Verzweigungspunkts. Dieser Wert entspricht dem RecoveryForkID-Wert von RESTORE HEADERONLY. Bei Datensicherungen ist first_recovery_fork_guid mit last_recovery_fork_guid identisch. |
fork_point_lsn | numeric(25,0) | Wenn first_recovery_fork_guid ungleich last_recovery_fork_guid ist, entspricht dieser Wert der Protokollfolgenummer des Forkpunkts. Andernfalls ist der Wert NULL. |
database_guid | uniqueidentifier | Eindeutige ID für die Datenbank. Dieser Wert entspricht dem BindingID-Wert von RESTORE HEADERONLY. Wenn die Datenbank wiederhergestellt wird, wird ein neuer Wert zugewiesen. |
family_guid | uniqueidentifier | Eindeutige ID der ursprünglichen Datenbank zum Zeitpunkt der Erstellung. Dieser Wert bleibt unverändert, wenn die Datenbank wiederhergestellt wird, und zwar auch dann, wenn sie mit einem anderen Namen wiederhergestellt wird. |
differential_base_lsn | numeric(25,0) | Basis-LSN für differenzielle Sicherungen. Bei einer differenziellen Sicherung auf der Basis einer einzelnen Sicherung werden Änderungen mit LSNs, die größer oder gleich dem Wert von differential_base_lsn sind, in die differenzielle Sicherung eingeschlossen. Bei einer differenziellen Sicherung auf der Basis mehrerer Sicherungen ist der Wert NULL, und die Basis-LSN muss auf Dateiebene bestimmt werden (siehe backupfile (Transact-SQL)). Bei nicht differenziellen Sicherungstypen ist der Wert immer NULL. |
differential_base_guid | 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 Sicherungen ist der Wert NULL, und die Basis für die differenzielle Sicherung muss auf Dateiebene bestimmt werden. Bei nicht differenziellen Sicherungstypen ist der Wert NULL. |
compressed_backup_size | Numeric(20,0) | Gesamtbytezahl der auf einem Datenträger gespeicherten Sicherung. Zur Berechnung der Komprimierungsrate verwenden Sie compressed_backup_size und backup_size. Während eines msdb Upgrades wird dieser Wert auf NULL festgelegt. Dies gibt eine nicht komprimierte Sicherung an. |
key_algorithm | nvarchar(32) | Der Verschlüsselungsalgorithmus, der zum Verschlüsseln der Sicherung verwendet wird. Der NO_Encryption-Wert gab an, dass die Sicherung nicht verschlüsselt wurde. |
encryptor_thumbprint | varbinary(20) | 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. |
encryptor_type | nvarchar(32) | Verwendeter Verschlüsselungstyp: Zertifikat oder asymmetrischer Schlüssel. Wenn die Sicherung nicht verschlüsselt wurde, ist dieser Wert NULL. |
last_valid_restore_time | datetime | Der Zeitstempel des letzten Transaktionsprotokolldatensatzes, der in der Transaktionsprotokollsicherung enthalten ist, für Protokolldatensätze, die einen Zeitstempel enthalten. Unterstützt das Erstellen von Wiederherstellungsplänen, indem Sie die letzte Protokollsicherung finden, die wiederhergestellt werden soll, wenn die Klausel in der STOPAT RESTORE LOG Anweisung angegeben ist. Diese Protokollsicherung hat die last_valid_restore_time streng größer als die in der STOPAT Klausel angegebene Zeit. Wurde in SQL Server 2022 (16.x) eingeführt. |
compression_algorithm | nvarchar(32) | Der Komprimierungsalgorithmus, der beim Erstellen der SQL Server-Sicherung verwendet wurde. Wurde in SQL Server 2022 (16.x) eingeführt. Der Standardwert ist MS_XPRESS . Weitere Informationen finden Sie unter BACKUP COMPRESSION und Integrated Acceleration and Offloading. |
Hinweise
RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY
füllt die Spalte derbackupmediaset
Tabelle mit den entsprechenden Werten aus der Mediensatzüberschrift auf.- Führen Sie die gespeicherte Prozedur sp_delete_backuphistory aus, um die Anzahl von Zeilen in dieser Tabelle und anderen Sicherungs- und Verlaufstabellen zu verringern.
- Informationen zu SQL-verwaltete Instanz finden Sie in der Sicherungstransparenz und zum Überwachen von Sicherungen.
Beispiele
Abfragen des Sicherungsverlaufs
Die folgende Abfrage gibt Informationen zu erfolgreichen Sicherungen der letzten zwei Monate zurück.
SELECT bs.database_name,
backuptype = CASE
WHEN bs.type = 'D' AND bs.is_copy_only = 0 THEN 'Full Database'
WHEN bs.type = 'D' AND bs.is_copy_only = 1 THEN 'Full Copy-Only Database'
WHEN bs.type = 'I' THEN 'Differential database backup'
WHEN bs.type = 'L' THEN 'Transaction Log'
WHEN bs.type = 'F' THEN 'File or filegroup'
WHEN bs.type = 'G' THEN 'Differential file'
WHEN bs.type = 'P' THEN 'Partial'
WHEN bs.type = 'Q' THEN 'Differential partial'
END + ' Backup',
CASE bf.device_type
WHEN 2 THEN 'Disk'
WHEN 5 THEN 'Tape'
WHEN 7 THEN 'Virtual device'
WHEN 9 THEN 'Azure Storage'
WHEN 105 THEN 'A permanent backup device'
ELSE 'Other Device'
END AS DeviceType,
bms.software_name AS backup_software,
bs.recovery_model,
bs.compatibility_level,
BackupStartDate = bs.Backup_Start_Date,
BackupFinishDate = bs.Backup_Finish_Date,
LatestBackupLocation = bf.physical_device_name,
backup_size_mb = CONVERT(DECIMAL(10, 2), bs.backup_size / 1024. / 1024.),
compressed_backup_size_mb = CONVERT(DECIMAL(10, 2), bs.compressed_backup_size / 1024. / 1024.),
database_backup_lsn, -- For tlog and differential backups, this is the checkpoint_lsn of the FULL backup it is based on.
checkpoint_lsn,
begins_log_chain,
bms.is_password_protected
FROM msdb.dbo.backupset bs
LEFT JOIN msdb.dbo.backupmediafamily bf
ON bs.[media_set_id] = bf.[media_set_id]
INNER JOIN msdb.dbo.backupmediaset bms
ON bs.[media_set_id] = bms.[media_set_id]
WHERE bs.backup_start_date > DATEADD(MONTH, - 2, sysdatetime()) --only look at last two months
ORDER BY bs.database_name ASC,
bs.Backup_Start_Date DESC;
Nächste Schritte
- BACKUP (Transact-SQL)
- RESTORE-Anweisungen (Transact-SQL)
- Sicherungs- und Wiederherstellungstabellen (Transact-SQL)
- Backupfile (Transact-SQL)
- backupfilegroup (Transact-SQL)
- backupmediafamily (Transact-SQL)
- backupmediaset (Transact-SQL)
- Mögliche Medienfehler beim Sichern und Wiederherstellen (SQL Server)
- Mediensätze, Medienfamilien und Sicherungssätze (SQL Server)
- Wiederherstellungsmodelle (SQL Server)
- RESTORE HEADERONLY (Transact-SQL)
- Sicherungs- und Wiederherstellungstabellen (Transact-SQL)