Instructions RESTORE – HEADERONLY (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
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 une description des arguments, consultez Arguments RESTORE (Transact-SQL).
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 }
| [ 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 }
}
Notes
Pour spécifier l’emplacement et le nom de fichier du Stockage Blob Azure, utilisez le format URL
pris en charge à compter de SQL Server 2012 (11.x) SP1 CU2. Bien que le stockage Azure soit un service, son implémentation est similaire à celle d’un disque ou d’une bande afin d’offrir une expérience de restauration cohérente et fluide pour les trois appareils.
Arguments
Pour une description 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 :
Nom de la colonne | Type de données | Description des jeux de sauvegardes SQL Server |
---|---|---|
BackupName 1 |
nvarchar(128) | Nom du jeu de sauvegardes. |
BackupDescription |
nvarchar(255) | Description du jeu de sauvegardes. Sa valeur peut être NULL. |
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. |
Compressed |
bit | 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 URL : - 9 = Logique - 109 = 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. |
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é au lancement de la sauvegarde. Ce LSN coïncide avec FirstLSN si la sauvegarde est effectuée quand 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é ascendante. |
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é ascendante. |
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é ascendante. |
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. |
Flags |
int | Signification des différents bits d’indicateurs : - 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 pendant 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 Flags , nous vous conseillons les colonnes de valeur booléenne individuelles (en commençant à HasBulkLoggedData , jusqu’à IsCopyOnly dans ce tableau). |
BindingID |
uniqueidentifier | ID de liaison de la base de données. Cette valeur correspond à database_guid dans sys.database_recovery_status . Lors de la restauration d'une base de données, une nouvelle valeur est attribuée. Voir aussi FamilyGUID . |
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 copie uniquement (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) | Si FirstRecoveryForkID n’équivaut pas à RecoveryForkID , il s’agit du numéro séquentiel dans le journal du point de branchement. 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) | Pour une sauvegarde différentielle unique, cette valeur est égale au FirstLSN de la base différentielle. Les modifications avec des LSN supérieurs ou égaux à DifferentialBaseLSN sont incluses dans la sauvegarde différentielle.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 l’article RESTORE FILELISTONLY. 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 - TRANSACTION LOG - FILE OR FILEGROUP - DATABASE DIFFERENTIAL - FILE DIFFERENTIAL PARTIAL - PARTIAL DIFFERENTIAL |
BackupSetGUID |
uniqueidentifier | Numéro d'identification unique du jeu de sauvegardes, par lequel s'effectue l'identification sur le support. Sa valeur peut être NULL. |
CompressedBackupSize |
bigint | Nombre d'octets du jeu de sauvegarde. Pour les sauvegardes non compressées, il s’agit de la même valeur que 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 | S’applique à : SQL Server 2012 (11.x) et versions ultérieures. 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 |
KeyAlgorithm |
nvarchar(32) | S’applique à : SQL Server 2014 (12.x) CU 1 et versions ultérieures. Algorithme de chiffrement utilisé pour chiffrer la sauvegarde. La valeur NO_Encryption indique que la sauvegarde n’est pas chiffrée. Lorsque la valeur correcte ne peut pas être déterminée, la valeur doit être NULL. |
EncryptorThumbprint |
varbinary(20) | S’applique à : SQL Server 2014 (12.x) CU 1 et versions ultérieures. Empreinte numérique du chiffreur pouvant être utilisé pour rechercher un certificat ou la clé asymétrique dans la base de données. Si la sauvegarde n’est pas chiffrée, cette valeur est NULL. |
EncryptorType |
nvarchar(32) | S’applique à : SQL Server 2014 (12.x) CU 1 et versions ultérieures. Type de chiffreur utilisé : certificat ou clé asymétrique. Si la sauvegarde n’est pas chiffrée, cette valeur est NULL. |
LastValidRestoreTime |
datetime | S’applique à : SQL Server 2022 (16.x) et versions ultérieures. L’heure de la dernière restauration valide. |
TimeZone |
nvarchar(32) | S’applique à : SQL Server 2022 (16.x) et versions ultérieures. Le fuseau horaire du serveur à partir duquel la sauvegarde a été effectuée. |
CompressionAlgorithm |
nvarchar(32) | S’applique à : SQL Server 2022 (16.x) et versions ultérieures. Identifie l’algorithme de compression utilisé pour compresser le fichier de sauvegarde. La valeur par défaut est MS_XPRESS. Pour plus d’informations, consultez BACKUP. |
1 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 ont la valeur NULL.
Remarques
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.
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>
.
Par sa nature, Microsoft Tape Format autorise la cohabitation de jeux de sauvegarde créés avec d’autres logiciels sur le même support que les jeux de sauvegarde SQL Server. Le jeu de résultats renvoyé par RESTORE HEADERONLY
inclue une ligne pour chacun de ces autres jeux de sauvegardes.
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 non autorisées de restauration et d’ajout de jeux de sauvegarde au support à l’aide d’outils 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.
Important
Le niveau de protection de ce mot de passe est 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 version future de SQL Server. N’utilisez pas cette fonctionnalité dans le nouveau travail de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. La bonne pratique pour protéger les sauvegardes consiste à stocker des bandes de sauvegarde dans un emplacement sécurisé ou à les sauvegarder sur des fichiers de disque protégés par des listes de contrôle d’accès appropriées (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 renvoie 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';
GO
Voir aussi
- BACKUP (Transact-SQL)
- backupset (Transact-SQL)
- RESTORE REWINDONLY (Transact-SQL)
- RESTORE VERIFYONLY (Transact-SQL)
- RESTORE (Transact-SQL)
- 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)