RESTORE HEADERONLY (Transact-SQL)
Restituisce un set di risultati contenente tutte le informazioni sull'intestazione del backup per tutti i set di backup di un dispositivo specifico.
Nota
Per una descrizione degli argomenti, vedere Argomenti dell'istruzione RESTORE (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 }
--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 } = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
Argomenti
Per una descrizione degli argomenti di RESTORE HEADERONLY, vedere Argomenti dell'istruzione 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.
Nota
RESTORE HEADERONLY esamina tutti i set di backup nei supporti. Pertanto, se si utilizzano unità nastro ad alta capacità, la generazione di questo set di risultati può richiedere tempo. Per un esame rapido dei supporti senza visualizzare informazioni per ogni set di backup, eseguire l'istruzione RESTORE LABELONLY oppure specificare l'opzione FILE = backup_set_file_number.
Nota
A causa della natura del formato Microsoft Tape Format, è possibile che negli stessi supporti dei set di backup di Microsoft SQL Server siano presenti set di backup di altri programmi software. Il set di risultati restituito da RESTORE HEADERONLY include una riga per ognuno degli altri set di backup.
Nome colonna |
Tipo di dati |
Descrizione per i set di backup SQL Server |
Descrizione per gli altri set di backup |
---|---|---|---|
BackupName |
nvarchar(128) |
Nome del set di backup. |
Nome del set di dati |
BackupDescription |
nvarchar(255) |
Descrizione del set di backup. |
Descrizione del set di dati |
BackupType |
smallint |
Tipo di backup: 1 = Database 2 = Log delle transazioni 4 = File 5 = Database differenziale 6 = File differenziale 7 = Parziale 8 = Parziale differenziale |
Tipo di backup: 1 = Normale 5 = Differenziale 16 = Incrementale 17 = Giornaliero |
ExpirationDate |
datetime |
Data di scadenza del set di backup. |
NULL |
Compressed |
BYTE(1) |
Specifica se il set di backup viene compresso utilizzando la compressione software: 0 = No 1 = Sì |
Se il set di backup è compresso utilizzando la compressione software: 0 = No 1 = Sì |
Position |
smallint |
Posizione del set di backup nel volume (da utilizzare con l'opzione FILE =). |
Posizione del set di backup nel volume |
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 = Logica 107 = Fisica I nomi e i numeri dei dispositivi logici sono inclusi in sys.backup_devices. Per ulteriori informazioni, vedere sys.backup_devices (Transact-SQL). |
NULL |
UserName |
nvarchar(128) |
Nome dell'utente che ha eseguito l'operazione di backup. |
Nome dell'utente che ha eseguito l'operazione di backup |
ServerName |
nvarchar(128) |
Nome del server che ha scritto il set di backup. |
NULL |
DatabaseName |
nvarchar(128) |
Nome del database di cui è stato eseguito il backup. |
NULL |
DatabaseVersion |
int |
Versione del database da cui è stato creato il backup. |
NULL |
DatabaseCreationDate |
datetime |
Data e ora di creazione del database. |
NULL |
BackupSize |
numeric(20,0) |
Dimensioni del backup in byte. |
NULL |
FirstLSN |
numeric(25,0) |
Numero di sequenza del file di log del primo record di log nel set di backup. |
NULL |
LastLSN |
numeric(25,0) |
Numero di sequenza del file di log del record di log successivo dopo il set di backup. |
NULL |
CheckpointLSN |
numeric(25,0) |
Numero di sequenza del file di log del checkpoint più recente al momento della creazione del backup. |
NULL |
DatabaseBackupLSN |
numeric(25,0) |
Numero di sequenza del file di log dell'operazione più recente di backup completo del database. DatabaseBackupLSN rappresenta l'inizio del checkpoint che viene attivato all'avvio del backup. Il numero LSN coincide con il valore di FirstLSN se il backup viene eseguito quando il database è inattivo e non è configurata la replica. |
NULL |
BackupStartDate |
datetime |
Data e ora di inizio dell'operazione di backup. |
Data di scrittura dei supporti |
BackupFinishDate |
datetime |
Data e ora di fine dell'operazione di backup. |
Data di scrittura dei supporti |
SortOrder |
smallint |
Tipo di ordinamento del server. Questa colonna è valida solo per i backup dei database. Disponibile per compatibilità con le versioni precedenti. |
NULL |
CodePage |
smallint |
Tabella codici del server o set di caratteri utilizzato dal server. |
NULL |
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. |
NULL |
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. |
NULL |
CompatibilityLevel |
tinyint |
Impostazione del livello di compatibilità del database da cui è stato creato il backup. |
NULL |
SoftwareVendorId |
int |
Numero di identificazione del produttore del software. Per SQL Server questo numero è4608 (o l'esadecimale 0x1200). |
Numero di identificazione del produttore del software |
SoftwareVersionMajor |
int |
Numero di versione principale del server in cui è stato creato il set di backup. |
Numero di versione principale del software con cui è stato creato il set di backup |
SoftwareVersionMinor |
int |
Numero di versione secondario del server in cui è stato creato il set di backup. |
Numero di versione secondario del software con cui è stato creato il set di backup |
SoftwareVersionBuild |
int |
Numero di build del server in cui è stato creato il set di backup. |
NULL |
MachineName |
nvarchar(128) |
Nome del computer in cui è stato eseguito il backup. |
Tipo di computer in cui è stato eseguito il backup |
Flags |
int |
Significato dei bit dei singoli flag se impostato su 1: 1 = Il backup del log contiene operazioni con registrazione minima delle operazioni bulk. 2 = Backup 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. 16 = Il backup contiene valori di checksum del backup. 32 = Al momento del backup il database era danneggiato ma è stato richiesto di continuare l'operazione di backup 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
Anziché Flags è consigliabile utilizzare le singole colonne booleane (elencate di seguito da HasBulkLoggedData a IsCopyOnly).
|
NULL |
BindingID |
uniqueidentifier |
ID di associazione per il database. Corrisponde a sys.database_recovery_statusdatabase_guid. In caso di ripristino di un database viene assegnato un nuovo valore. Vedere anche FamilyGUID (più avanti in questo argomento). |
NULL |
RecoveryForkID |
uniqueidentifier |
ID per il fork di recupero finale. Questa colonna corrisponde a last_recovery_fork_guid nella tabella backupset. Per i backup di dati RecoveryForkID è uguale a FirstRecoveryForkID. |
NULL |
Collation |
nvarchar(128) |
Regole di confronto utilizzate dal database. |
NULL |
FamilyGUID |
uniqueidentifier |
ID del database originale al momento della creazione. Il valore non cambia quando il database viene ripristinato. |
NULL |
HasBulkLoggedData |
bit |
1 = Backup del log contenente operazioni con registrazione minima delle operazioni bulk. |
NULL |
IsSnapshot |
bit |
1 = Backup snapshot. |
NULL |
IsReadOnly |
bit |
1 = Al momento del backup il database era in modalità sola lettura. |
NULL |
IsSingleUser |
bit |
1 = Al momento del backup il database era in modalità utente singolo. |
NULL |
HasBackupChecksums |
bit |
1 = Il backup contiene valori di checksum del backup. |
NULL |
IsDamaged |
bit |
1 = Al momento del backup il database era danneggiato ma è stato richiesto di continuare l'operazione di backup nonostante gli errori. |
NULL |
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 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. |
NULL |
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. |
NULL |
IsForceOffline |
bit |
1 = Backup eseguito con NORECOVERY; database offline a causa del backup. |
NULL |
IsCopyOnly |
bit |
1 = Backup di sola copia. Un backup di sola copia non ha alcun effetto sulle procedure di backup e ripristino generali per il database. Per ulteriori informazioni, vedere Backup di sola copia. |
NULL |
FirstRecoveryForkID |
uniqueidentifier |
ID per il fork di recupero iniziale. Questa colonna corrisponde a first_recovery_fork_guid nella tabella backupset. Per i backup di dati FirstRecoveryForkID è uguale a RecoveryForkID. |
NULL |
ForkPointLSN |
numeric(25,0) NULL |
Se FirstRecoveryForkID è diverso da RecoveryForkID, questo è il numero di sequenza del file di log del punto di fork. Negli altri casi il valore è NULL. |
NULL |
RecoveryModel |
nvarchar(60) |
Modello di recupero del database. I possibili valori sono i seguenti: FULL BULK-LOGGED SIMPLE |
NULL |
DifferentialBaseLSN |
numeric(25,0) NULL |
Per un backup differenziale basato su un solo backup, il valore è uguale al valore di FirstLSN del backup differenziale. Le modifiche con valori LSN maggiori o uguali a DifferentialBaseLSN vengono incluse nel backup 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 ulteriori informazioni, vedere RESTORE FILELISTONLY (Transact-SQL). Per i tipi di backup non differenziali il valore è sempre NULL. Per ulteriori informazioni, vedere Base di un backup differenziale. |
NULL |
DifferentialBaseGUID |
uniqueidentifier |
Per un backup differenziale basato su un solo backup, il valore è l'identificatore univoco del backup 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. |
NULL |
BackupTypeDescription |
nvarchar(60) |
Tipo di backup in formato stringa. I possibili valori sono i seguenti: DATABASE TRANSACTION LOG FILE OR FILEGROUP DATABASE DIFFERENTIAL FILE DIFFERENTIAL PARTIAL PARTIAL DIFFERENTIAL |
Tipo di backup in formato stringa. I possibili valori sono i seguenti: NORMAL DIFFERENTIAL INCREMENTAL DAILY |
BackupSetGUID |
uniqueidentifier NULL |
Identificatore univoco del set di backup, che lo identifica nei supporti. |
NULL |
CompressedBackupSize |
bigint |
Numero totale di byte del set di backup. Per i backup non compressi, questo valore corrisponde a quello di BackupSize. Per calcolare la compressione, utilizzare CompressedBackupSize e BackupSize. Durante un aggiornamento di msdb, il valore è impostato per corrispondere al valore della colonna BackupSize. |
NULL |
Nota
Se per i set di backup sono state definite password, tramite l'istruzione RESTORE HEADERONLY vengono visualizzate informazioni complete solo per il set di backup la cui password corrisponde al valore specificato nell'opzione PASSWORD del comando. Vengono inoltre visualizzate informazioni complete relative ai set di backup non protetti. Il valore della colonna BackupName per gli altri set di backup protetti con password dei supporti viene impostato su '***Password Protected***', mentre tutte le altre colonne risultano NULL.
Osservazioni
In un client è possibile utilizzare l'istruzione RESTORE HEADERONLY per il recupero delle informazioni di intestazione di tutti i backup di un dispositivo di backup specifico. Per ogni backup nel dispositivo di backup il server invia le informazioni di intestazione sotto forma di riga.
Autorizzazioni
A partire da SQL Server 2008, per ottenere informazioni su un set o dispositivo di backup è necessario disporre dell'autorizzazione CREATE DATABASE. Per ulteriori informazioni, vedere GRANT - autorizzazioni per database (Transact-SQL).
Per un'operazione di backup è possibile specificare facoltativamente una 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 Microsoft SQL Server. Tuttavia, la password non impedisce la sovrascrittura dei supporti tramite l'opzione FORMAT dell'istruzione BACKUP.
Nota sulla sicurezza |
---|
Il livello di protezione garantito da questa password è ridotto. 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 caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa caratteristica 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 nella radice della directory in cui vengono creati i backup. |
Esempi
Nell'esempio seguente vengono restituite le informazioni dell'intestazione per il file su disco C:\AdventureWorks2008R2-FullBackup.bak.
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks2008R2-FullBackup.bak'
WITH NOUNLOAD;
GO
Vedere anche