Back-upset (Transact-SQL)

van toepassing op:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Bevat een rij voor elke backupset. Een back-upset bevat de back-up van één geslaagde back-upbewerking. RESTORE, RESTORERESTORE FILELISTONLY, , RESTORERESTORE HEADERONLYen RESTORERESTORE VERIFYONLY statements werken op één enkele back-upset binnen de mediaset op het gespecificeerde back-upapparaat of apparaten.

Deze tabel wordt opgeslagen in de msdb database.

Kolomnaam Gegevenstype Description
backup_set_id int Uniek identificatienummer van de back-upset die de back-upset identificeert. Identiteit, primaire sleutel.
backup_set_uuid uniqueidentifier Uniek identificatienummer van de back-upset die de back-upset identificeert.
media_set_id int Uniek identificatienummer van de mediaset die de mediaset identificeert met de back-upset. Verwijst naar backupmediaset(media_set_id).
first_family_number tinyint Het familienummer van de media waar de back-up set begint. Kan NULL zijn.
first_media_number smallint Medianummer van het medium waar de back-up set begint. Kan NULL zijn.
last_family_number tinyint Het familienummer van de media waar de back-up eindigt. Kan NULL zijn.
last_media_number smallint Medianummer van de media waar de back-upset eindigt. Kan NULL zijn.
catalog_family_number tinyint Het familienummer van de media bevat het begin van de back-up-setdirectory. Kan NULL zijn.
catalog_media_number smallint Medianummer van de media met het begin van de back-upset directory. Kan NULL zijn.
positie int Back-upset positie gebruikt bij de hersteloperatie om de juiste back-upset en bestanden te vinden. Kan NULL zijn. Voor meer informatie, zie FILE in BACKUP (Transact-SQL).
expiration_date datetime De datum en tijd waarop de back-upset verloopt. Kan NULL zijn.
software_vendor_id int Identificatienummer van de softwareleverancier die de back-upmediaheader schrijft. Kan NULL zijn.
name nvarchar(128) Naam van de back-upset. Kan NULL zijn.
description nvarchar(255) Beschrijving van de reserveset. Kan NULL zijn.
user_name nvarchar(128) Naam van de gebruiker die de back-upoperatie uitvoert. Kan NULL zijn.
software_major_version tinyint Microsoft SQL Server hoofdversienummer. Kan NULL zijn.
software_minor_version tinyint SQL Server minor versienummer. Kan NULL zijn.
software_build_version smallint SQL Server buildnummer. Kan NULL zijn.
time_zone smallint Verschil tussen lokale tijd (waar de back-upoperatie plaatsvindt) en gecoördineerde universele tijd (UTC) in intervallen van 15 minuten met behulp van de tijdzone-informatie op het moment dat de back-upoperatie begon. Waarden kunnen worden -48 tot en met +48, inclusief. Een waarde van 127 duidt op onbekend. Bijvoorbeeld, -20 is Eastern Standard Time (EST) of vijf uur na UTC. Kan NULL zijn.
mtf_minor_version tinyint Microsoft Tape Format minor versienummer. Kan NULL zijn.
first_lsn numeriek(25,0) Logvolgordenummer van het eerste of oudste logrecord in de back-upset. Kan NULL zijn.
last_lsn numeriek(25,0) Logvolgordenummer van het volgende logrecord na de back-upset. Kan NULL zijn.
checkpoint_lsn numeriek(25,0) Logvolgnummer van het logrecord waarbij opnieuw moet beginnen. Kan NULL zijn.
database_backup_lsn numeriek(25,0) Logboekvolgordenummer van de meest recente volledige databaseback-up. Kan NULL zijn.

database_backup_lsn is het "begin van het checkpoint" dat wordt geactiveerd wanneer de back-up begint. Dit LSN valt samen met first_lsn als de back-up wordt gemaakt terwijl de database inactief is en er geen replicatie is geconfigureerd.
database_creation_date datetime Datum en tijd waarop de database oorspronkelijk is aangemaakt. Kan NULL zijn.
backup_start_date datetime Datum en tijd van de start-upoperatie. Kan NULL zijn.
backup_finish_date datetime Datum en tijd van de back-upoperatie voltooid. Kan NULL zijn.
type char(1) Type back-up. Dit kan zijn:

D = Database
I = Differentiële database
L = Log
F = Bestand of bestandsgroep
G =Differentieel bestand
P = Partieel
Q = Differentiaal partieel

Kan NULL zijn.
sort_order smallint Sorteervolgorde van de server die de back-upoperatie uitvoert. Kan NULL zijn. Voor meer informatie over sorteervolgordes en collaties, zie Collatie en Unicode Support.
code_page smallint Codepagina van de server die de back-upoperatie uitvoert. Kan NULL zijn. Voor meer informatie over codepagina's, zie Collatie en Unicode Support.
compatibility_level tinyint Compatibiliteitsniveau instelling voor de database. Dit kan zijn:

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)

Kan NULL zijn.

Voor meer informatie over compatibiliteitsniveaus, zie ALTER DATABASE Compatibiliteitsniveau (Transact-SQL).
database_version int Databaseversienummer. Kan NULL zijn.
backup_size numeriek(20,0) Grootte van de back-up set, in bytes. Kan NULL zijn. Voor VSS-back-ups is backup_size een geschatte waarde.
database_name nvarchar(128) Naam van de database die betrokken is bij de back-upbewerking. Kan NULL zijn.
server_name nvarchar(128) Naam van de server die de SQL Server-back-upoperatie uitvoert. Kan NULL zijn.
machine_name nvarchar(128) Naam van de computer waarop SQL Server wordt uitgevoerd. Kan NULL zijn.
flags int In SQL Server is de kolom vlaggen verouderd en wordt vervangen door de volgende bitkolommen:

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

Kan NULL zijn.

In back-upsets van eerdere versies van SQL Server markeren bits:
1 = Back-up bevat minimaal geregistreerde gegevens.
2 = MET SNAPSHOT werd gebruikt.
4 = De database was alleen-lezen op het moment van back-up.
8 = De database was op het moment van back-up in single-user modus.
unicode_locale int Unicode-locatie. Kan NULL zijn.
unicode_compare_style int Unicode vergelijk stijl. Kan NULL zijn.
collation_name nvarchar(128) Sorteringsnaam. Kan NULL zijn.
Is_password_protected bit Is de back-up set

Wachtwoord beveiligd:

0 = Niet beschermd

1 = Beschermd
recovery_model nvarchar(60) Herstelmodel voor de database:

VOLLEDIG

BULK-LOGGED

SIMPLE
has_bulk_logged_data bit 1 = Back-up bevat bulk-logged gegevens.
is_snapshot bit 1 = Back-up werd gemaakt met de SNAPSHOT-optie.
is_readonly bit 1 = De database was alleen-lezen op het moment van back-up.
is_single_user bit 1 = De database was op het moment van back-up single-user.
has_backup_checksums bit 1 = Back-up bevat back-up checksums.
is_damaged bit 1 = Schade aan de database werd gedetecteerd toen deze back-up werd gemaakt. De back-upoperatie werd gevraagd om door te gaan ondanks fouten.
begins_log_chain bit 1 = Dit is de eerste in een continue keten van logback-ups. Een logketen begint met de eerste logback-up die wordt gemaakt nadat de database is aangemaakt of wanneer deze is overgeschakeld van het eenvoudige naar het volledige of bulk-logged herstelmodel.
has_incomplete_metadata bit 1 = Een taillog-back-up met onvolledige metadata. Zie Tail-Log Back-ups (SQL Server)voor meer informatie.
is_force_offline bit 1 = Database werd offline gehaald met de NORECOVERY-optie toen de back-up werd gemaakt.
is_copy_only bit 1 = Een alleen-kopieer back-up. Zie Copy-Only Back-ups (SQL Server) voor meer informatie.
first_recovery_fork_guid uniqueidentifier ID van de start-recovery fork. Dit komt overeen met FirstRecoveryForkID van RESTORE HEADERONLY.

Voor data-back-ups is first_recovery_fork_guid gelijk aan last_recovery_fork_guid.
last_recovery_fork_guid uniqueidentifier ID van de eindherstelvork. Dit komt overeen met RecoveryForkID van RESTORE HEADERONLY.

Voor data-back-ups is first_recovery_fork_guid gelijk aan last_recovery_fork_guid.
fork_point_lsn numeriek(25,0) Als first_recovery_fork_guid niet gelijk is aan last_recovery_fork_guid, is dit het logaritmnummer van het forkpunt. Anders is de waarde NULL.
database_guid uniqueidentifier Unieke ID voor de database. Dit komt overeen met BindingID van RESTORE HEADERONLY. Wanneer de database wordt hersteld, wordt een nieuwe waarde toegewezen.
family_guid uniqueidentifier Unieke id van de oorspronkelijke database bij het maken. Deze waarde blijft hetzelfde wanneer de database wordt hersteld, zelfs met een andere naam.
differential_base_lsn numeriek(25,0) Basis LSN voor differentiële back-ups. Voor een single-based differentiële back-up; wijzigingen met LSN's groter dan of gelijk aan differential_base_lsn worden opgenomen in de differentiële back-up.

Voor een multibased differentiaal is de waarde NULL, en moet de basis LSN op bestandsniveau worden bepaald (zie back-upbestand (Transact-SQL)).

Voor niet-differentiële back-uptypes is de waarde altijd NULL.
differential_base_guid uniqueidentifier Voor een differentiële back-up met één basis is de waarde de unieke identificatie van de differentiële basis.

Voor multibased differentiëlen is de waarde NULL, en moet de differentiaalbasis op bestandsniveau worden bepaald.

Voor niet-differentiële back-uptypes is de waarde NULL.
compressed_backup_size Numeriek(20,0) Totale byte-aantal van de back-up opgeslagen op de schijf.

Om de compressieverhouding te berekenen, gebruik je compressed_backup_size en backup_size.

Tijdens een msdb upgrade wordt deze waarde op NULL gezet. wat een ongecomprimeerde back-up aangeeft.
key_algorithm nvarchar(32) Het encryptie-algoritme dat wordt gebruikt om de back-up te versleutelen. NO_Encryption waarde gaf aan dat de back-up niet versleuteld was.
encryptor_thumbprint varbinary(20) De duimafdruk van de versleutelaar die gebruikt kan worden om een certificaat of de asymmetrische sleutel in de database te vinden. In het geval dat de back-up niet versleuteld was, is deze waarde NULL.
encryptor_type nvarchar(32) Het type versleutelaar dat wordt gebruikt: certificaat of asymmetrische sleutel. In het geval dat de back-up niet versleuteld was, is deze waarde NULL.
last_valid_restore_time datetime De tijdstempel van het laatste transactielogrecord dat in de back-up van het transactielogboek is opgenomen, voor logrecords die een tijdstempel dragen. Helpt bij het opstellen van herstelplannen door je te helpen de laatste logback-up te vinden om te herstellen wanneer de STOPAT clausule in de RESTORE LOG instructie is gespecificeerd. Die logback-up heeft de last_valid_restore_time strikt groter dan de tijd die in de STOPAT clausule is gespecificeerd. Geïntroduceerd in SQL Server 2022 (16.x).
compression_algorithm nvarchar(32) Het compressie-algoritme dat werd gebruikt bij het maken van de SQL Server-back-up. Geïntroduceerd in SQL Server 2022 (16.x). De standaardwaarde is MS_XPRESS. Voor meer informatie, zie BACKUP COMPRESSIE en Geïntegreerde acceleratie en ontlading.

Remarks

  • RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY vult de kolom van de backupmediaset tabel met de juiste waarden uit de media-set-header.
  • Om het aantal rijen in deze tabel en in andere back-up- en geschiedenistabellen te verminderen, voer je de sp_delete_backuphistory opgeslagen procedure uit.
  • Voor SQL Managed Instance, zie back-up transparantie en hoe back-ups te monitoren.

Examples

Back-upgeschiedenis opzoeken

De volgende query geeft succesvolle back-upinformatie van de afgelopen twee maanden terug.

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;

Volgende stappen