Partager via


RESTORE HEADERONLY (Transact-SQL)

Renvoie un jeu de résultats contenant toutes les dernières informations d'en-tête des sauvegardes pour tous les jeux de sauvegardes d'un périphérique de sauvegarde particulier dans SQL Server.

Notes

Pour obtenir une description des arguments, consultez Arguments RESTORE (Transact-SQL).

S'applique à : SQL Server (SQL Server 2008 via la version actuelle).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

Pour obtenir des descriptions des arguments RESTORE HEADERONLY, consultez Arguments RESTORE (Transact-SQL).

Jeux de résultats

Pour chaque sauvegarde réalisée sur une unité donnée, le serveur envoie une ligne d'informations d'en-tête composée des colonnes suivantes :

Notes

RESTORE HEADERONLY recherche tous les jeux de sauvegarde sur le support.Par conséquent, la production de ce jeu de résultats en utilisant des lecteurs de bande à capacité élevée risque de prendre du temps.Pour obtenir un aperçu du support sans récupérer les informations propres à chaque jeu de sauvegarde, utilisez RESTORE LABELONLY ou définissez l'argument FILE = backup_set_file_number.

Notes

Grâce au format de bande Microsoft, des jeux de sauvegarde créés avec d'autres logiciels peuvent cohabiter sur le même support que les jeux de sauvegarde Microsoft SQL Server.Le jeu de résultats renvoyé par RESTORE HEADERONLY inclue une ligne pour chacun de ces autres jeux de sauvegardes.

Nom de la colonne

Type de données

Description des jeux de sauvegardes SQL Server

BackupName

nvarchar(128)

Nom du jeu de sauvegardes.

BackupDescription

nvarchar(255)

Description du jeu de sauvegardes.

BackupType

smallint

Type de sauvegarde :

1 = Base de données

2 = Journal des transactions

4 = Fichier

5 = Base de données différentielle

6 = Fichier différentiel

7 = Partiel

8 = Partiel différentiel

ExpirationDate

datetime

Date d'expiration du jeu de sauvegardes.

Compressé

BYTE(1)

Indique si le jeu de sauvegarde a fait l'objet d'une compression logicielle :

0 = Non

1 = Oui

Position

smallint

Position du jeu de sauvegardes dans le volume (utilisée avec l'option FILE =).

DeviceType

tinyint

Numéro correspondant à l'unité utilisée pour la sauvegarde.

Disque :

2 = Logique

102 = Physique

Bande :

5 = Logique

105 = Physique

Unité virtuelle :

7 = Logique

107 = Physique

Les noms d'unité logique et numéros d'unité se trouvent dans sys.backup_devices ; pour plus d'informations, consultez sys.backup_devices (Transact-SQL).

UserName

nvarchar(128)

Nom de l'utilisateur qui a effectué l'opération de sauvegarde.

ServerName

nvarchar(128)

Nom du serveur qui a permis l'écriture du jeu de sauvegardes.

DatabaseName

nvarchar(128)

Nom de la base de données qui a été sauvegardée.

DatabaseVersion

int

Version de la base de données à partir de laquelle la sauvegarde a été créée.

DatabaseCreationDate

datetime

Date et heure de création de la base de données.

BackupSize

numeric(20,0)

Taille de la sauvegarde en octets.

FirstLSN

numeric(25,0)

Numéro séquentiel dans le journal correspondant au premier enregistrement du journal dans le jeu de sauvegarde.

LastLSN

numeric(25,0)

Numéro séquentiel dans le journal correspondant à l'enregistrement du journal suivant après le jeu de sauvegarde.

CheckpointLSN

numeric(25,0)

Numéro séquentiel dans le journal correspondant au point de contrôle le plus récent au moment où la sauvegarde a été créée.

DatabaseBackupLSN

numeric(25,0)

Numéro séquentiel dans le journal correspondant à la sauvegarde complète la plus récente de la base de données

DatabaseBackupLSN constitue le « début du point de contrôle » déclenché lors du démarrage de la sauvegarde. Ce LSN coïncide avec FirstLSN si la sauvegarde est effectuée lorsque la base de données est inactive et qu'aucune réplication n'a été configurée.

BackupStartDate

datetime

Date et heure de début de l'opération de sauvegarde.

BackupFinishDate

datetime

Date et heure de fin de l'opération de sauvegarde.

SortOrder

smallint

Ordre de tri du serveur. Cette colonne n'est valide que pour les sauvegardes de base de données. Fourni pour la compatibilité descendante.

CodePage

smallint

Page de codes du serveur ou jeu de caractères utilisé par le serveur.

UnicodeLocaleId

int

Option de configuration de ID locale Unicode du serveur utilisée pour le tri des données caractères Unicode. Fourni pour la compatibilité descendante.

UnicodeComparisonStyle

int

Option de configuration du style de comparaison Unicode du serveur qui offre un contrôle supplémentaire du tri des données Unicode. Fourni pour la compatibilité descendante.

CompatibilityLevel

tinyint

Paramètre de niveau de compatibilité de la base à partir de laquelle la sauvegarde a été créée.

SoftwareVendorId

int

Numéro d'identification du fournisseur de logiciel. Pour SQL Server, ce numéro est 4608 (ou, en hexadécimal, 0x1200).

SoftwareVersionMajor

int

Numéro de version principal du serveur qui a créé le jeu de sauvegardes.

SoftwareVersionMinor

int

Numéro de version secondaire du serveur qui a créé le jeu de sauvegardes.

SoftwareVersionBuild

int

Numéro de build du serveur qui a créé le jeu de sauvegardes.

MachineName

nvarchar(128)

Nom de l'ordinateur qui a effectué l'opération de sauvegarde.

Indicateurs

int

Significations de bit d'indicateur individuel avec la valeur 1 :

1 =La sauvegarde de journal contient des opérations de journalisation en bloc.

2 = Sauvegarde instantanée.

4 = La base de données était accessible en lecture seule au moment de la sauvegarde.

8 = La base de données était accessible en mode mono-utilisateur au moment de la sauvegarde.

16 = La sauvegarde contient des sommes de contrôle de sauvegarde.

32 = La base de données a été endommagée lors de la sauvegarde, mais l'opération de sauvegarde doit continuer malgré les erreurs.

64 = Sauvegarde de la fin du journal.

128 = Sauvegarde de la fin du journal avec des métadonnées incomplètes.

256 = Sauvegarde de la fin du journal avec NORECOVERY.

Important

Au lieu d'utiliser des indicateurs, nous vous conseillons les colonnes de valeur booléenne individuelles (répertoriées ci-dessous, commençant par HasBulkLoggedData et se terminant par IsCopyOnly).

BindingID

uniqueidentifier

ID de liaison de la base de données. Cela correspond à sys.database_recovery_status database_guid. Lors de la restauration d'une base de données, une nouvelle valeur est attribuée. Voir aussi FamilyGUID (ci-dessous).

RecoveryForkID

uniqueidentifier

ID de la fourchette de récupération de fin. Cette colonne correspond à last_recovery_fork_guid dans la table backupset.

Pour les sauvegardes de données, RecoveryForkID équivaut à FirstRecoveryForkID.

Collation

nvarchar(128)

Classement utilisé par la base de données.

FamilyGUID

uniqueidentifier

ID de la base de données d'origine lors de sa création. Cette valeur reste identique lors de la restauration de la base de données.

HasBulkLoggedData

bit

1 = Sauvegarde de journal contenant des opérations de journalisation en bloc.

IsSnapshot

bit

1 = Sauvegarde instantanée.

IsReadOnly

bit

1 = La base de données était accessible en lecture seule au moment de la sauvegarde.

IsSingleUser

bit

1 = La base de données était en mode mono-utilisateur au moment de la sauvegarde.

HasBackupChecksums

bit

1 = La sauvegarde contient des sommes de contrôle de sauvegarde.

IsDamaged

bit

1 = La base de données a été endommagée lors de la sauvegarde, mais l'opération de sauvegarde doit continuer malgré les erreurs.

BeginsLogChain

bit

1 = Il s'agit de la première d'une chaîne continue de sauvegardes journalisées. Une séquence de journaux démarre par la première sauvegarde journalisée effectuée après la création de la base de données, ou lorsqu'elle passe du mode de récupération simple à complète ou utilisant les journaux de transactions.

HasIncompleteMetaData

bit

1 = Sauvegarde de la fin du journal avec des métadonnées incomplètes.

Pour plus d'informations sur les sauvegardes de fin de journal avec des métadonnées incomplètes, consultez Sauvegardes de la fin du journal (SQL Server).

IsForceOffline

bit

1 = Sauvegarde effectuée avec NORECOVERY ; la base de données a été placée en mode hors connexion par la sauvegarde.

IsCopyOnly

bit

1 = Sauvegarde de copie unique.

Une sauvegarde de copie unique n'influe pas sur les procédures globales de sauvegarde et de restauration de la base de données. Pour plus d'informations, consultez Sauvegardes de type copie seule (SQL Server).

FirstRecoveryForkID

uniqueidentifier

ID de la fourchette de récupération de début. Cette colonne correspond à first_recovery_fork_guid dans la table backupset.

Pour les sauvegardes de données, FirstRecoveryForkID équivaut à RecoveryForkID.

ForkPointLSN

numeric(25,0) NULL

Si FirstRecoveryForkID n'équivaut pas à RecoveryForkID, il s'agit du numéro séquentiel dans le journal du point de la fourchette. Dans les autres cas, cette valeur est NULL.

RecoveryModel

nvarchar(60)

Modèle de restauration de la base de données, parmi

FULL

BULK-LOGGED

SIMPLE

DifferentialBaseLSN

numeric(25,0) NULL

Pour une sauvegarde différentielle unique, la valeur équivaut à FirstLSN de la base différentielle ; les modifications avec un numéro de séquence d'enregistrement (LSN) supérieur ou égal à DifferentialBaseLSN sont incluses dans le différentiel.

Pour une sauvegarde différentielle multiple, la valeur est NULL, tandis que le LSN de base doit être déterminé au niveau du fichier. Pour plus d'informations, consultez RESTORE FILELISTONLY (Transact-SQL).

Pour les types de sauvegarde non différentiels, la valeur est toujours NULL.

Pour plus d'informations, consultez Sauvegardes différentielles (SQL Server).

DifferentialBaseGUID

uniqueidentifier

Pour une sauvegarde différentielle unique, cette valeur constitue l'identificateur unique de la base différentielle.

Pour les sauvegardes différentielles multiples, cette valeur est NULL, tandis que la base différentielle doit être déterminée par fichier.

Pour les types de sauvegarde non différentiels, la valeur est NULL.

BackupTypeDescription

nvarchar(60)

Type de sauvegarde en tant que chaîne, parmi :

DATABASE

JOURNAL DES TRANSACTIONS

FICHIER OU GROUPE DE FICHIERS

BASE DE DONNÉES DIFFÉRENTIELLE

FICHIER DIFFÉRENTIEL PARTIEL

DIFFÉRENTIEL PARTIEL

BackupSetGUID

uniqueidentifier NULL

Numéro d'identification unique du jeu de sauvegardes, par lequel s'effectue l'identification sur le support.

CompressedBackupSize

bigint

Nombre d'octets du jeu de sauvegarde. Pour les sauvegardes non compressées, il s'agit de la même valeur que celle de BackupSize.

Pour calculer le taux de compression, utilisez CompressedBackupSize et BackupSize.

Pendant une mise à niveau de msdb, cette valeur est configurée pour correspondre à la valeur de la colonne BackupSize.

containment

tinyint non NULL

Indique l'état de la relation contenant-contenu de la base de données.

0 = La relation contenant-contenu de base de données est désactivée

1 = La base de données est dans une relation contenant-contenu partielle

S'applique à : SQL Server 2012 et SQL Server 2014.

Notes

Si des mots de passe sont définis pour les jeux de sauvegarde, RESTORE HEADERONLY n'affiche que les informations complètes relatives au jeu de sauvegarde dont le mot de passe correspond à la définition de l'option PASSWORD de la commande.RESTORE HEADERONLY affiche également les informations complètes relatives aux jeux de sauvegarde non protégés.La colonne BackupName des autres jeux de sauvegarde du support protégés par mot de passe prend la valeur '***Password Protected***', et toutes les autres colonnes sont de type NULL.

Remarques d'ordre général

Un client peut utiliser RESTORE HEADERONLY pour récupérer toutes les informations des en-têtes de sauvegarde pour toutes les sauvegardes figurant sur une unité particulière. Pour chaque sauvegarde réalisée sur une unité de sauvegarde, le serveur envoie les informations d'en-tête sous forme de ligne.

Sécurité

Une opération de sauvegarde peut éventuellement spécifier des mots de passe pour un support de sauvegarde, un jeu de sauvegarde ou les deux. Lorsqu'un mot de passe a été défini sur un support de sauvegarde ou un jeu de sauvegarde, vous devez entrer le ou les mots de passe corrects dans l'instruction RESTORE. Ces mots de passe empêchent les opérations de restauration non autorisées ainsi que les ajouts non autorisés de jeux de sauvegarde sur les supports par le biais des outils Microsoft SQL Server. En revanche, un mot de passe n'empêche pas d'écraser les supports en cas d'utilisation de l'option FORMAT de l'instruction BACKUP.

Remarque relative à la sécuritéRemarque relative à la sécurité

La protection assurée par ce mot de passe est plutôt faible.Son but est d'éviter que des utilisateurs autorisés ou non autorisés effectuent une restauration incorrecte à l'aide des outils SQL Server.En aucun cas, elle n'empêche la lecture des données de la sauvegarde par d'autres moyens ou le remplacement du mot de passe.Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. La méthode conseillé en matière de protection des sauvegardes consiste à stocker les bandes de sauvegarde dans un emplacement sûr ou à sauvegarder les fichiers disque protégés par une liste de contrôle d'accès (ACL).La liste de contrôle d'accès doit être définie à la racine du répertoire dans lequel les sauvegardes sont effectuées.

Autorisations

Vous devez avoir l'autorisation CREATE DATABASE pour pouvoir obtenir des informations sur un jeu de sauvegardes ou sur une unité de sauvegarde. Pour plus d'informations, consultez GRANT – octroi d'autorisations de base de données (Transact-SQL).

Exemples

L'exemple suivant retourne les informations contenues dans l'en-tête pour le fichier de disque C:\AdventureWorks-FullBackup.bak.

RESTORE HEADERONLY 
FROM DISK = N'C:\AdventureWorks-FullBackup.bak' 
WITH NOUNLOAD;
GO

Voir aussi

Référence

BACKUP (Transact-SQL)

backupset (Transact-SQL)

RESTORE REWINDONLY (Transact-SQL)

RESTORE VERIFYONLY (Transact-SQL)

RESTORE (Transact-SQL)

Concepts

Historique de sauvegarde et informations d'en-tête (SQL Server)

Activer ou désactiver des sommes de contrôle de sauvegarde au cours d'opérations de sauvegarde ou de restauration (SQL Server)

Jeux de supports, familles de supports et jeux de sauvegarde (SQL Server)

Modes de récupération (SQL Server)