backupset (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure Piattaforma di strumenti analitici (PDW)
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 msdb
database.
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. |
name | 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 | Numero di versione principale di Microsoft SQL Server. Può essere NULL. |
software_minor_version | tinyint | Numero di versione secondaria 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 viene eseguita l'operazione di backup) e l'ora UTC (Coordinated Universal Time) in intervalli di 15 minuti usando le informazioni sul fuso orario al momento dell'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 di versione secondaria di Formato nastro Microsoft. 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 è il "inizio del checkpoint" che viene attivato all'avvio del backup. Questo LSN coinciderà con first_lsn se il backup viene eseguito quando il database è inattiva 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 sugli ordini 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 tabelle 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 (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) Può essere NULL. Per altre informazioni sui livelli di compatibilità, 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 Server la colonna flags è stata deprecata e viene 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 delle versioni precedenti di SQL Server, flag bit: 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. |
collation_name | 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 non è uguale a last_recovery_fork_guid, si tratta del numero di sequenza di log del punto 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 a base singola; le modifiche con LSN maggiori o uguali a differential_base_lsn sono incluse nel backup differenziale. Per un differenziale multibasato, il valore è NULL e l'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 msdb aggiornamento, 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 componente di crittografia: certificato o chiave asimmetrica. Nel caso in cui il backup non è stato crittografato, questo valore è NULL. |
last_valid_restore_time | datetime | Timestamp dell'ultimo record del log delle transazioni incluso nel backup del log delle transazioni, per i record di log che contengono un timestamp. Aiuta a costruire piani di ripristino aiutando a trovare l'ultimo backup del log da ripristinare quando la STOPAT clausola viene specificata nell'istruzione RESTORE LOG . Il backup del log ha il last_valid_restore_time strettamente maggiore del tempo specificato nella STOPAT clausola . Introdotto in SQL Server 2022 (16.x) |
compression_algorithm | nvarchar(32) | Algoritmo di compressione utilizzato durante la creazione del backup di SQL Server. Introdotto in SQL Server 2022 (16.x) Il valore predefinito è MS_XPRESS . Per altre informazioni, vedere BACKUP COMPRESSION e Accelerazione integrata e offload. |
Osservazioni:
RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY
popola la colonna dellabackupmediaset
tabella con i valori appropriati dall'intestazione del set di supporti.- Per ridurre il numero di righe in questa tabella e in altre tabelle di backup e cronologia, eseguire la stored procedure sp_delete_backuphistory .
- Per Istanza gestita di SQL, vedere Trasparenza del backup e come monitorare i backup.
Esempi
Cronologia di backup delle query
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 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;
Passaggi successivi
- BACKUP (Transact-SQL)
- Istruzioni RESTORE (Transact-SQL)
- Tabelle di backup e ripristino (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)
- Tabelle di backup e ripristino (Transact-SQL)