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).

Icona di collegamento a un argomento Convenzioni della 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 } 

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

BackupName

nvarchar(128)

Nome del set di backup.

BackupDescription

nvarchar(255)

Descrizione del set di backup.

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

BYTE(1)

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 = Logica

107 = Fisico

I nomi e i numeri dei dispositivi logici sono inclusi in sys.backup_devices. Per ulteriori informazioni, vedere sys.backup_devices (Transact-SQL).

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 (LSN) del checkpoint più recente al momento della creazione del backup.

DatabaseBackupLSN

numeric(25,0)

Numero di sequenza del file di log (LSN) 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.

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 l'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

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.

Nota importanteImportante

Anziché Flags è consigliabile utilizzare le singole colonne booleane (elencate di seguito da HasBulkLoggedData a IsCopyOnly).

BindingID

uniqueidentifier

ID di associazione per il database. Corrisponde a sys.database_recovery_status database_guid. In caso di ripristino di un database viene assegnato un nuovo valore. Vedere anche FamilyGUID (più avanti in questo argomento).

RecoveryForkID

uniqueidentifier

ID per il fork di recupero finale. Questa colonna corrisponde a last_recovery_fork_guid nella tabella backupset.

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 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 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.

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 ha alcun effetto sulle procedure di backup e ripristino generali per il database. Per ulteriori 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 backupset.

Per i backup dei dati FirstRecoveryForkID è uguale a RecoveryForkID.

ForkPointLSN

numeric(25,0) NULL

Se FirstRecoveryForkID è diverso da RecoveryForkID, questo è il numero di sequenza del file di log (LSN) del punto di fork. Negli altri casi il valore è NULL.

RecoveryModel

nvarchar(60)

Modello di recupero del database. I possibili valori sono i seguenti:

FULL

BULK-LOGGED

SIMPLE

DifferentialBaseLSN

numeric(25,0) NULL

Per un backup differenziale basato su un solo backup, il valore è uguale al valore di FirstLSN della base 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 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:

DATABASE

TRANSACTION LOG

FILE OR FILEGROUP

DATABASE DIFFERENTIAL

FILE DIFFERENTIAL PARTIAL

PARTIAL DIFFERENTIAL

BackupSetGUID

uniqueidentifier NULL

Identificatore univoco del set di backup, che lo identifica nei supporti.

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.

containment

tinyint non NULL

Indica lo stato di indipendenza del database.

0 = l'indipendenza del database è disabilitata

1 = il database è in stato di indipendenza parziale

[!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 generali

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.

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 Microsoft SQL Server. Tuttavia, la password non impedisce la sovrascrittura dei supporti tramite l'opzione FORMAT dell'istruzione BACKUP.

Nota sulla sicurezzaNota 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 funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare 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

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).

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' 
WITH NOUNLOAD;
GO

Vedere anche

Riferimento

BACKUP (Transact-SQL)

backupset (Transact-SQL)

RESTORE REWINDONLY (Transact-SQL)

RESTORE VERIFYONLY (Transact-SQL)

RESTORE (Transact-SQL)

Concetti

Informazioni sulla cronologia e sull'intestazione del backup (SQL Server)

Abilitazione o disabilitazione di 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)