backupset (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) SìIstanza gestita di SQL di Azure sìParallel Data Warehouse

Contiene una riga per ogni set di backup. Un set di backup contiene il backup di una singola operazione di backup riuscita. Le istruzioni RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY e RESTORE VERIFYONLY operano in un singolo set di backup all'interno del set di supporti nei dispositivi di backup specificati.

Questa tabella viene archiviata nel database msdb .

Nome colonna Tipo di dati Descrizione
backup_set_id int Numero di identificazione univoco del set di backup. Identità, chiave primaria.
backup_set_uuid uniqueidentifier Numero di identificazione univoco del set di backup.
media_set_id int Numero di identificazione univoco del set di supporti che include il set di backup. Fa riferimento a backupmediaset(media_set_id).
first_family_number tinyint Numero del gruppo di supporti in cui inizia il set di backup. Può essere NULL.
first_media_number smallint Numero del supporto in cui inizia il set di backup. Può essere NULL.
last_family_number tinyint Numero del gruppo di supporti in cui termina il set di backup. Può essere NULL.
last_media_number smallint Numero del supporto in cui termina il set di backup. Può essere NULL.
catalog_family_number tinyint Numero del gruppo di supporti che include l'inizio della directory del set di backup. Può essere NULL.
catalog_media_number smallint Numero del supporto che include l'inizio della directory del set di backup. Può essere NULL.
position int Posizione del set di backup utilizzata nell'operazione di ripristino per individuare il set e i file di backup appropriati. Può essere NULL. Per altre informazioni, vedere FILE in BACKUP (Transact-SQL).
expiration_date datetime Data e ora di scadenza del set di backup. Può essere NULL.
software_vendor_id int Numero di identificazione del produttore del software con cui viene scritta l'intestazione supporto di backup. Può essere NULL.
nome nvarchar(128) Nome del set di backup. Può essere NULL.
description nvarchar(255) Descrizione del set di backup. Può essere NULL.
user_name nvarchar(128) Nome dell'utente che esegue l'operazione di backup. Può essere NULL.
software_major_version tinyint MicrosoftSQL Server numero di versione principale. Può essere NULL.
software_minor_version tinyint Numero di versione secondario di SQL Server. Può essere NULL.
software_build_version smallint Numero di build di SQL Server. Può essere NULL.
time_zone smallint Differenza tra l'ora locale (in cui è in corso l'operazione di backup) e Coordinated Universal Time (UTC) a intervalli di 15 minuti usando le informazioni sul fuso orario all'avvio dell'operazione di backup. I possibili valori sono compresi tra -48 e +48 inclusi. Il valore 127 indica che la differenza è sconosciuta. Ad esempio, -20 indica l'ora della costa orientale degli Stati Uniti, ovvero 5 ore in meno rispetto all'ora di Greenwich. Può essere NULL.
mtf_minor_version tinyint Numero secondario della versione di Microsoft Tape Format. Può essere NULL.
first_lsn numeric(25,0) Numero di sequenza del file di log del primo record, ovvero del record di log meno recente nel set di backup. Può essere NULL.
last_lsn numeric(25,0) Numero di sequenza del file di log (LSN) del record di log successivo dopo il set di backup. Può essere NULL.
checkpoint_lsn numeric(25,0) Numero di sequenza del file di log del record di log da cui deve essere avviata l'operazione di rollforward. Può essere NULL.
database_backup_lsn numeric(25,0) Numero di sequenza del file di log dell'operazione più recente di backup completo del database. Può essere NULL.

database_backup_lsn è l'"inizio del checkpoint" che viene attivato all'avvio del backup. Questo LSN coinciderà con first_lsn se il backup viene eseguito quando il database è inattivo e non è configurata alcuna replica.
database_creation_date datetime Data e ora in cui è stato creato il database. Può essere NULL.
backup_start_date datetime Data e ora in cui è stata avviata l'operazione di backup. Può essere NULL.
backup_finish_date datetime Data e ora in cui è terminata l'operazione di backup. Può essere NULL.
type char(1) Tipo di backup. I possibili valori sono i seguenti:

D = Database

I = Database differenziale

L = Log

F = File o filegroup

G =File differenziale

P = Parziale

Q = Parziale differenziale

Può essere NULL.
sort_order smallint Tipo di ordinamento del server che esegue l'operazione di backup. Può essere NULL. Per altre informazioni sui criteri di ordinamento e sulle regole di confronto, vedere Regole di confronto e supporto Unicode.
code_page smallint Tabella codici del server che esegue l'operazione di backup. Può essere NULL. Per altre informazioni sulle pagine codici, vedere Regole di confronto e supporto Unicode.
compatibility_level tinyint Impostazione del livello di compatibilità per il database. I possibili valori sono i seguenti:

90 = SQL Server 2005 (9.x)

100 = SQL Server 2008

110 = SQL Server 2012 (11.x)

120 = SQL Server 2014 (12.x)

Può essere NULL.

Per informazioni sui livelli di compatibilità supportati, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL).
database_version int Numero di versione del database. Può essere NULL.
backup_size numeric(20,0) Dimensioni in byte del set di backup. Può essere NULL. Per i backup vss, backup_size è un valore stimato.
database_name nvarchar(128) Nome del database su cui viene eseguita l'operazione di backup. Può essere NULL.
server_name nvarchar(128) Nome del server che esegue l'operazione di backup di SQL Server. Può essere NULL.
machine_name nvarchar(128) Nome del computer che esegue SQL Server. Può essere NULL.
flags int In SQL Serverla colonna flags è stata deprecata e verrà sostituita con le colonne di bit seguenti:

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

Può essere NULL.

Nei set di backup di versioni precedenti di SQL Server, i flag disponibili sono i seguenti:
1 = Il backup contiene dati a registrazione minima.
2 = È stata utilizzata l'opzione WITH SNAPSHOT.
4 = Al momento del backup il database era in modalità sola lettura.
8 = Al momento del backup il database era in modalità utente singolo.
unicode_locale int Impostazioni locali Unicode. Può essere NULL.
unicode_compare_style int Stile di confronto Unicode. Può essere NULL.
nome_regole_di_confronto nvarchar(128) Nome delle regole di confronto. Può essere NULL.
Is_password_protected bit Indica se il set di backup

è protetto con password:

0 = non protetto

1 = protetto
recovery_model nvarchar(60) Modello di recupero per il database:

FULL

BULK-LOGGED

SEMPLICE
has_bulk_logged_data bit 1 = Il backup contiene dati con registrazione minima delle operazioni bulk.
is_snapshot bit 1 = Il backup è stato eseguito utilizzando l'opzione SNAPSHOT.
is_readonly bit 1 = Al momento del backup il database era in modalità sola lettura.
is_single_user bit 1 = Al momento del backup il database era in modalità utente singolo.
has_backup_checksums bit 1 = Il backup contiene valori di checksum del backup.
is_damaged bit 1 = Durante la creazione del backup sono stati rilevati danni al database. È stato richiesto di continuare l'operazione di backup nonostante gli errori.
begins_log_chain bit 1 = Il primo di una catena continua di backup di log. Una catena di log inizia con il primo backup del log eseguito dopo la creazione del database oppure quando si passa dal modello di recupero con registrazione semplice al modello di recupero con registrazione completa o al modello di recupero con registrazione minima delle operazioni bulk.
has_incomplete_metadata bit 1 = Backup della parte finale del log con metadati incompleti. Per altre informazioni, vedere Backup della parte finale del log (SQL Server).
is_force_offline bit 1 = Per il database è stata impostata la modalità offline mediante l'utilizzo dell'opzione NORECOVERY durante la creazione del backup.
is_copy_only bit 1 = Backup di sola copia. Per altre informazioni, vedere Backup di sola copia (SQL Server).
first_recovery_fork_guid uniqueidentifier ID del fork di recupero iniziale. Corrisponde a FirstRecoveryForkID di RESTORE HEADERONLY.

Per i backup dei dati, first_recovery_fork_guid uguale a last_recovery_fork_guid.
last_recovery_fork_guid uniqueidentifier ID del fork di recupero finale. Corrisponde a RecoveryForkID di RESTORE HEADERONLY.

Per i backup dei dati, first_recovery_fork_guid uguale a last_recovery_fork_guid.
fork_point_lsn numeric(25,0) Se first_recovery_fork_guid è diverso da last_recovery_fork_guid, questo è il numero di sequenza del log del punto di fork. Negli altri casi il valore è NULL.
database_guid uniqueidentifier ID univoco per il database. Corrisponde a BindingID di RESTORE HEADERONLY. Quando il database viene ripristinato, viene assegnato un nuovo valore.
family_guid uniqueidentifier ID univoco del database originale al momento della creazione. Questo valore rimane invariato quando il database viene ripristinato, anche in caso di modifica del nome.
differential_base_lsn numeric(25,0) Numero di sequenza del file di log (LSN) di base per i backup differenziali. Per un backup differenziale basato su singolo; Le modifiche con LSN maggiori o uguali differential_base_lsn sono incluse nel backup differenziale.

Per un differenziale multibase, il valore è NULL e il valore LSN di base deve essere determinato a livello di file (vedere backupfile (Transact-SQL)).

Per i tipi di backup non differenziali, il valore è sempre NULL.
differential_base_guid uniqueidentifier Per un backup differenziale basato su un solo backup, il valore è l'identificatore univoco della base differenziale.

Per i backup differenziali basati su più backup, il valore è NULL e la base differenziale deve essere determinata a livello di file.

Per tipi di backup non differenziali, il valore è NULL.
compressed_backup_size Numeric(20,0) Numero totale di byte del backup archiviato nel disco.

Per calcolare il rapporto di compressione, usare compressed_backup_size e backup_size.

Durante un aggiornamento di msdb , questo valore è impostato su NULL. che indica un backup non compresso.
key_algorithm nvarchar(32) Algoritmo utilizzato per crittografare il backup. Il valore NO_Encryption indica che il backup non è stato crittografato.
encryptor_thumbprint varbinary(20) L'identificazione digitale del componente di crittografia che può essere utilizzato per trovare il certificato o la chiave asimmetrica nel database. Nel caso in cui il backup non è stato crittografato, questo valore è NULL.
encryptor_type nvarchar(32) Tipo di crittografatore usato: certificato o chiave asimmetrica. Nel caso in cui il backup non è stato crittografato, questo valore è NULL.

Commenti

  • RESTORE VERIFYONLY FROM backup_device WITH LOADHISTORY popola la colonna della tabella backupmediaset con i valori appropriati dell'intestazione media-set.
  • Per ridurre il numero di righe in questa tabella e in altre tabelle di backup e cronologia, eseguire il comando sp_delete_backuphistory stored procedure.
  • Ad SQL Istanza gestita, la tabella backupset mostra solo la cronologia di backup per i backup di sola copia avviati dall'utente. La tabella backupset non mostra la cronologia dei backup automatici eseguiti dal servizio.

Esempio

Eseguire query sulla cronologia di backup

La query seguente restituisce informazioni di backup riuscite degli ultimi due mesi.

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 OUTER 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;

Vedere anche

Backup e ripristino di tabelle (Transact-SQL)
backupfile (Transact-SQL)
backupfilegroup (Transact-SQL)
backupmediafamily (Transact-SQL)
backupmediaset (Transact-SQL)
Possibili errori relativi ai supporti durante il backup e il ripristino (SQL Server)
Set di supporti, gruppi di supporti e set di backup (SQL Server)
Modelli di recupero (SQL Server)
RESTORE HEADERONLY (Transact-SQL)
Backup e ripristino di tabelle (Transact-SQL)