Istruzioni RESTORE - HEADERONLY (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Restituisce un set di risultati contenente tutte le informazioni sull'intestazione del backup per tutti i set di backup di un dispositivo specifico in SQL Server.
Nota
Per le descrizioni degli argomenti, vedere Argomenti RESTORE (Transact-SQL).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
RESTORE HEADERONLY
FROM <backup_device>
[ WITH
{
-- Backup set options
FILE = { backup_set_file_number | @backup_set_file_number }
| PASSWORD = { password | @password_variable }
| [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_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 | URL } = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
Nota
URL
è il formato usato per specificare il percorso e il nome file per Archiviazione BLOB di Azure ed è supportato a partire da SQL Server 2012 (11.x) SP 1 CU 2. Anche se l'archiviazione di Azure è un servizio, l'implementazione è simile a disco e nastro, per consentire un'esperienza di ripristino coerente e trasparente per tutti e tre i dispositivi.
Argomenti
Per le descrizioni degli RESTORE HEADERONLY
argomenti, vedere Argomenti RESTORE (Transact-SQL).
Set di risultati
Per ogni backup nel dispositivo specificato, il server invia una riga di informazioni sull'intestazione con le colonne riportate di seguito.
Nome colonna | Tipo di dati | Descrizione per i set di backup SQL Server |
---|---|---|
BackupName 1 |
nvarchar(128) | Nome del set di backup. |
BackupDescription |
nvarchar(255) | Descrizione del set di backup. Può essere NULL. |
BackupType |
smallint | Tipo di backup: 1 = Database 2 = Log delle transazioni 4 = File 5 = Database differenziale 6 = File differenziale 7 = Parziale 8 = Parziale differenziale |
ExpirationDate |
datetime | Data di scadenza del set di backup. |
Compressed |
bit | Specifica se il set di backup viene compresso utilizzando la compressione software: 0 = No 1 = Sì |
Position |
smallint | Posizione del set di backup nel volume (da utilizzare con l'opzione FILE =). |
DeviceType |
tinyint | Numero corrispondente a tipo di dispositivo utilizzato per l'operazione di backup. Disco: - 2 = Logico - 102 = Fisico Nastro: - 5 = Logico - 105 = Fisico Dispositivo virtuale: - 7 = Logico - 107 = Fisico URL: - 9 = Logico - 109 = Fisico I nomi dei dispositivi logici e i numeri di dispositivo sono in sys.backup_devices . Per altre informazioni, vedere sys.backup_devices. |
UserName |
nvarchar(128) | Nome dell'utente che ha eseguito l'operazione di backup. |
ServerName |
nvarchar(128) | Nome del server che ha scritto il set di backup. |
DatabaseName |
nvarchar(128) | Nome del database di cui è stato eseguito il backup. |
DatabaseVersion |
int | Versione del database da cui è stato creato il backup. |
DatabaseCreationDate |
datetime | Data e ora di creazione del database. |
BackupSize |
numeric(20,0) | Dimensioni del backup in byte. |
FirstLSN |
numeric(25,0) | Numero di sequenza del file di log (LSN) del primo record di log nel set di backup. |
LastLSN |
numeric(25,0) | Numero di sequenza del file di log (LSN) del record di log successivo dopo il set di backup. |
CheckpointLSN |
numeric(25,0) | Numero di sequenza del file di log del checkpoint più recente al momento della creazione del backup. |
DatabaseBackupLSN |
numeric(25,0) | Numero di sequenza del file di log dell'operazione più recente di backup completo del database.DatabaseBackupLSN è l'inizio del checkpoint che viene attivato all'avvio del backup. Questo LSN coincide con FirstLSN se il backup viene eseguito quando il database è inattiva e non viene configurata alcuna replica. |
BackupStartDate |
datetime | Data e ora di inizio dell'operazione di backup. |
BackupFinishDate |
datetime | Data e ora di fine dell'operazione di backup. |
SortOrder |
smallint | Tipo di ordinamento del server. Questa colonna è valida solo per i backup dei database. Disponibile per compatibilità con le versioni precedenti. |
CodePage |
smallint | Tabella codici del server o set di caratteri utilizzato dal server. |
UnicodeLocaleId |
int | Opzione di configurazione dell'ID delle impostazioni locali Unicode del server utilizzata per l'ordinamento dei dati di tipo carattere Unicode. Disponibile per compatibilità con le versioni precedenti. |
UnicodeComparisonStyle |
int | Opzione di configurazione dello stile di confronto Unicode del server che consente di controllare ulteriormente l'ordinamento dei dati Unicode. Disponibile per compatibilità con le versioni precedenti. |
CompatibilityLevel |
tinyint | Impostazione del livello di compatibilità del database da cui è stato creato il backup. |
SoftwareVendorId |
int | Numero di identificazione del produttore del software. Per SQL Server, questo numero è 4608 (o esadecimale 0x1200 ). |
SoftwareVersionMajor |
int | Numero di versione principale del server in cui è stato creato il set di backup. |
SoftwareVersionMinor |
int | Numero di versione secondario del server in cui è stato creato il set di backup. |
SoftwareVersionBuild |
int | Numero di build del server in cui è stato creato il set di backup. |
MachineName |
nvarchar(128) | Nome del computer in cui è stato eseguito il backup. |
Flags |
int | Significati di bit dei singoli flag: - 1 = Il backup del log contiene operazioni con registrazione minima delle operazioni bulk. - 2 = Backup dello snapshot. - 4 = Il database è di sola lettura durante il backup. - 8 = Il database era in modalità utente singolo durante il backup. - 16 = Il backup contiene checksum di backup. - 32 = Il database è stato danneggiato durante il backup, ma l'operazione di backup è stata richiesta per continuare nonostante gli errori. - 64 = Backup della parte finale del log. - 128 = Backup della parte finale del log con metadati incompleti. - 256 = Backup della parte finale del log con NORECOVERY. Importante: invece di Flags usare le singole colonne booleane ,a partire da e terminando con HasBulkLoggedData IsCopyOnly in questa tabella. |
BindingID |
uniqueidentifier | ID di associazione per il database. Questo valore corrisponde a database_guid in sys.database_recovery_status . In caso di ripristino di un database viene assegnato un nuovo valore. Vedere anche FamilyGUID . |
RecoveryForkID |
uniqueidentifier | ID per il fork di recupero finale. Questa colonna corrisponde a last_recovery_fork_guid nella tabella del set di backup .Per i backup dei dati, RecoveryForkID è uguale a FirstRecoveryForkID . |
Collation |
nvarchar(128) | Regole di confronto utilizzate dal database. |
FamilyGUID |
uniqueidentifier | ID del database originale al momento della creazione. Il valore non cambia quando il database viene ripristinato. |
HasBulkLoggedData |
bit | 1 = Backup del log contenente operazioni con registrazione minima delle operazioni bulk. |
IsSnapshot |
bit | 1 = Backup di snapshot. |
IsReadOnly |
bit | 1 = Al momento del backup il database era in modalità sola lettura. |
IsSingleUser |
bit | 1 = Al momento del backup il database era in modalità utente singolo. |
HasBackupChecksums |
bit | 1 = Il backup contiene valori di checksum del backup. |
IsDamaged |
bit | 1 = Al momento del backup il database era danneggiato ma è stato richiesto di continuare l'operazione di backup nonostante gli errori. |
BeginsLogChain |
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 o quando viene passato dal modello di recupero Con registrazione minima o con registrazione minima delle operazioni bulk. |
HasIncompleteMetaData |
bit | 1 = Backup della parte finale del log con metadati incompleti. Per informazioni sul backup della parte finale del log con metadati incompleti, vedere Backup della parte finale del log (SQL Server). |
IsForceOffline |
bit | 1 = Backup eseguito con NORECOVERY; database offline a causa del backup. |
IsCopyOnly |
bit | 1 = Backup di sola copia. Un backup di sola copia non influisce sulle procedure generali di backup e ripristino per il database. Per altre informazioni, vedere Backup di sola copia (SQL Server). |
FirstRecoveryForkID |
uniqueidentifier | ID per il fork di recupero iniziale. Questa colonna corrisponde a first_recovery_fork_guid nella tabella del set di backup .Per i backup dei dati, FirstRecoveryForkID è uguale a RecoveryForkID . |
ForkPointLSN |
numeric(25,0) | Se FirstRecoveryForkID non è uguale a RecoveryForkID , questo valore è il numero di sequenza del log del punto fork. Negli altri casi il valore è NULL. |
RecoveryModel |
nvarchar(60) | Modello di recupero per il database, uno dei seguenti: -PIENO - BULK-LOGGED -SEMPLICE |
DifferentialBaseLSN |
numeric(25,0) | Per un backup differenziale a base singola, il valore è uguale a FirstLSN della base differenziale. Le modifiche con LSN maggiori o uguali a DifferentialBaseLSN vengono incluse nel differenziale.Per un backup differenziale basato su più backup, il valore è NULL e il valore LSN di base deve essere determinato a livello di file. Per altre informazioni, vedere RESTORE FILELISTONLY. Per i tipi di backup non differenziali il valore è sempre NULL. Per altre informazioni, vedere Backup differenziali (SQL Server). |
DifferentialBaseGUID |
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 per ogni file. Per i tipi di backup non differenziali il valore è NULL. |
BackupTypeDescription |
nvarchar(60) | Tipo di backup in formato stringa. I possibili valori sono i seguenti: -BANCA DATI - LOG DELLE TRANSAZIONI - FILE O FILEGROUP - DIFFERENZIALE DEL DATABASE - FILE DIFFERENZIALE PARZIALE - DIFFERENZIALE PARZIALE |
BackupSetGUID |
uniqueidentifier | Identificatore univoco del set di backup, che lo identifica nei supporti. Può essere NULL. |
CompressedBackupSize |
bigint | Numero totale di byte del set di backup. Per i backup non compressi, questo valore è uguale BackupSize a .Per calcolare il rapporto di compressione, usare CompressedBackupSize e BackupSize .Durante un msdb aggiornamento, questo valore viene impostato in modo che corrisponda al valore della BackupSize colonna. |
containment |
tinyint | Si applica a: SQL Server 2012 (11.x) e versioni successive. Indica lo stato di indipendenza del database. 0 = l'indipendenza del database è disabilitata 1 = il database è in stato di indipendenza parziale |
KeyAlgorithm |
nvarchar(32) | Si applica a: SQL Server 2014 (12.x) CU 1 e versioni successive. Algoritmo utilizzato per crittografare il backup. NO_Encryption indica che il backup non è stato crittografato. Quando non è possibile determinare il valore corretto, il valore deve essere NULL. |
EncryptorThumbprint |
varbinary(20) | Si applica a: SQL Server 2014 (12.x) CU 1 e versioni successive. Identificazione personale del crittografatore che può essere usata per trovare il certificato o la chiave asimmetrica nel database. Quando il backup non è stato crittografato, questo valore è NULL. |
EncryptorType |
nvarchar(32) | Si applica a: SQL Server 2014 (12.x) CU 1 e versioni successive. Tipo di componente di crittografia: certificato o chiave asimmetrica. Quando il backup non è stato crittografato, questo valore è NULL. |
LastValidRestoreTime |
datetime | Si applica a: SQL Server 2022 (16.x) e versioni successive. Ora dell'ultimo ripristino valido. |
TimeZone |
nvarchar(32) | Si applica a: SQL Server 2022 (16.x) e versioni successive. Fuso orario del server da cui è stato eseguito il backup. |
CompressionAlgorithm |
nvarchar(32) | Si applica a: SQL Server 2022 (16.x) e versioni successive. Identifica l'algoritmo di compressione usato per comprimere il file di backup. Il valore predefinito è MS_XPRESS. Per altre informazioni, vedere BACKUP. |
1 Se le password sono definite per i set di backup, RESTORE HEADERONLY
mostra informazioni complete solo per il set di backup la cui password corrisponde all'opzione specificata PASSWORD
del comando. RESTORE HEADERONLY
mostra anche informazioni complete per i set di backup non protetti. La BackupName
colonna per gli altri set di backup protetti da password nel supporto è impostata su 'Password Protected'
e tutte le altre colonne sono NULL.
Osservazioni:
Un client può usare RESTORE HEADERONLY
per recuperare tutte le informazioni sull'intestazione di backup per tutti i backup in un determinato dispositivo di backup. Per ogni backup nel dispositivo di backup il server invia le informazioni di intestazione sotto forma di riga.
RESTORE HEADERONLY
esamina tutti i set di backup nel supporto. Pertanto, se si utilizzano unità nastro ad alta capacità, la generazione di questo set di risultati può richiedere tempo. Per esaminare rapidamente i supporti senza ottenere informazioni su ogni set di backup, usare RESTORE LABELONLY
o specificare FILE = <backup_set_file_number>
.
A causa della natura del formato nastro Microsoft, è possibile che i set di backup di altri programmi software occupino spazio nello stesso supporto dei set di backup di SQL Server. Il set di risultati restituito da RESTORE HEADERONLY
include una riga per ognuno di questi altri set di backup.
Sicurezza
Per un'operazione di backup è possibile specificare password per un set di supporti o un set di backup oppure per entrambi. Se è stata impostata una password per un set di supporti o un set di backup, la password o le password corrette devono essere specificate nell'istruzione RESTORE. Queste password impediscono operazioni di ripristino non autorizzate e l'aggiunta non autorizzata di set di backup ai supporti tramite gli strumenti di SQL Server. Tuttavia, una password non impedisce la sovrascrittura dei supporti usando l'opzione FORMAT dell'istruzione BACKUP.
Importante
Il livello di protezione garantito da questa password è vulnerabile. Lo scopo è impedire un ripristino non corretto da parte di utenti autorizzati o non autorizzati mediante gli strumenti di SQL Server. Non impedisce la lettura dei dati di backup eseguita con altri mezzi o la sostituzione della password. Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Per ottenere un livello di protezione adeguato dei backup, è consigliabile archiviare i nastri di backup in un luogo sicuro oppure eseguire il backup su file su disco protetti da elenchi di controllo di accesso (ACL) appropriati. Gli elenchi di controllo di accesso devono essere impostati a livello della directory radice in cui vengono creati i backup.
Autorizzazioni
Per ottenere informazioni su un set o dispositivo di backup è necessario disporre dell'autorizzazione CREATE DATABASE. Per altre informazioni, vedere GRANT - autorizzazioni per database (Transact-SQL).
Esempi
Nell'esempio seguente vengono restituite le informazioni dell'intestazione per il file su disco C:\AdventureWorks-FullBackup.bak
.
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks-FullBackup.bak';
GO
Vedi anche
- BACKUP (Transact-SQL)
- backupset (Transact-SQL)
- RESTORE REWINDONLY (Transact-SQL)
- RESTORE VERIFYONLY (Transact-SQL)
- RESTORE (Transact-SQL)
- Informazioni sulla cronologia e sull'intestazione del backup (SQL Server)
- Abilitare o disabilitare il checksum di backup durante il backup o il ripristino (SQL Server)
- Set di supporti, gruppi di supporti e set di backup (SQL Server)
- Modelli di recupero (SQL Server)