RESTORE HEADERONLY (Transact-SQL)
Renvoie un ensemble de résultats contenant toutes les dernières informations d'en-tête des sauvegarde pour tous les jeux de sauvegardes d'un périphérique de sauvegarde particulier.
Notes
Pour obtenir une description des arguments, consultez Arguments RESTORE (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).
Ensembles 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 cet ensemble 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 |
Description des autres jeux de sauvegarde |
---|---|---|---|
BackupName |
nvarchar(128) |
Nom du jeu de sauvegardes. |
Nom du dataset |
BackupDescription |
nvarchar(255) |
Description du jeu de sauvegardes. |
Description du dataset |
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 |
Type de sauvegarde : 1 = Normal 5 = Différentiel 16 = Incrémentiel 17 = Quotidiennement |
ExpirationDate |
datetime |
Date d'expiration du jeu de sauvegardes. |
NULL |
Compressé |
BYTE(1) |
Indique si le jeu de sauvegarde a fait l'objet d'une compression logicielle : 0 = non 1 = oui |
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 =). |
Position du jeu de sauvegardes dans le volume |
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). |
NULL |
UserName |
nvarchar(128) |
Nom de l'utilisateur qui a effectué l'opération de sauvegarde. |
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. |
NULL |
DatabaseName |
nvarchar(128) |
Nom de la base de données qui a été sauvegardée. |
NULL |
DatabaseVersion |
int |
Version de la base de données à partir de laquelle la sauvegarde a été créée. |
NULL |
DatabaseCreationDate |
datetime |
Date et heure de création de la base de données. |
NULL |
BackupSize |
numeric(20,0) |
Taille de la sauvegarde en octets. |
NULL |
FirstLSN |
numeric(25,0) |
Numéro séquentiel dans le journal correspondant au premier enregistrement du journal dans le jeu de sauvegarde. |
NULL |
LastLSN |
numeric(25,0) |
Numéro séquentiel dans le journal correspondant à l'enregistrement suivant après le jeu de sauvegarde |
NULL |
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. |
NULL |
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. |
NULL |
BackupStartDate |
datetime |
Date et heure de début de l'opération de sauvegarde. |
Date d'écriture du support |
BackupFinishDate |
datetime |
Date et heure de fin de l'opération de sauvegarde. |
Date d'écriture du support |
SortOrder |
smallint |
Ordre de tri du serveur. Cette colonne n'est valide que pour les sauvegardes de base de données. Fourni pour des raisons de compatibilité descendante. |
NULL |
CodePage |
smallint |
Page de codes du serveur ou jeu de caractères utilisé par le serveur. |
NULL |
UnicodeLocaleId |
int |
Option de configuration de ID locale Unicode du serveur utilisée pour le tri des données caractères Unicode. Fourni pour des raisons de compatibilité descendante. |
NULL |
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 des raisons de compatibilité descendante. |
NULL |
CompatibilityLevel |
tinyint |
Paramètre de niveau de compatibilité de la base à partir de laquelle la sauvegarde a été créée. |
NULL |
SoftwareVendorId |
int |
Numéro d'identification du fournisseur de logiciel. Pour SQL Server, ce numéro est 4608 (ou, en hexadécimal, 0x1200). |
Numéro d'identification du fournisseur de logiciel |
SoftwareVersionMajor |
int |
Numéro de version principal du serveur qui a créé le jeu de sauvegardes. |
Numéro de version principal du logiciel qui a créé le jeu de sauvegardes |
SoftwareVersionMinor |
int |
Numéro de version secondaire du serveur qui a créé le jeu de sauvegardes. |
Numéro de version secondaire du logiciel qui a créé le jeu de sauvegardes |
SoftwareVersionBuild |
int |
Numéro de build du serveur qui a créé le jeu de sauvegardes. |
NULL |
MachineName |
nvarchar(128) |
Nom de l'ordinateur qui a effectué l'opération de sauvegarde. |
Type 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 fichier journal. 128 = Sauvegarde de fichier journal avec des métadonnées incomplètes. 256 = Sauvegarde de fichier 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 terminant par IsCopyOnly).
|
NULL |
BindingID |
uniqueidentifier |
ID de liaison de la base de données. Cela correspond à sys.database_recovery_statusdatabase_guid. Lors de la restauration d'une base de données, une nouvelle valeur est attribuée. Voir aussi FamilyGUID (ci-dessous). |
NULL |
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. |
NULL |
Collation |
nvarchar(128) |
Classement utilisé par la base de données. |
NULL |
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. |
NULL |
HasBulkLoggedData |
bit |
1 =Sauvegarde de journal contenant des opérations de journalisation en bloc. |
NULL |
IsSnapshot |
bit |
1 = Sauvegarde instantanée. |
NULL |
IsReadOnly |
bit |
1 = La base de données était accessible en lecture seule au moment de la sauvegarde. |
NULL |
IsSingleUser |
bit |
1 = La base de données était en mode mono-utilisateur au moment de la sauvegarde. |
NULL |
HasBackupChecksums |
bit |
1 = La sauvegarde contient des sommes de contrôle de sauvegarde. |
NULL |
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. |
NULL |
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. |
NULL |
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 fichier journal après défaillance. |
NULL |
IsForceOffline |
bit |
1 = Sauvegarde effectuée avec NORECOVERY ; la base de données a été placée en mode hors connexion par la sauvegarde. |
NULL |
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. |
NULL |
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. |
NULL |
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. |
NULL |
RecoveryModel |
nvarchar(60) |
Modèle de restauration de la base de données, parmi FULL BULK-LOGGED SIMPLE |
NULL |
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 Base d'une sauvegarde différentielle. |
NULL |
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. |
NULL |
BackupTypeDescription |
nvarchar(60) |
Type de sauvegarde en tant que chaîne, parmi : BASE DE DONNÉES JOURNAL DES TRANSACTIONS FICHIER OU GROUPE DE FICHIERS BASE DE DONNÉES DIFFÉRENTIELLE FICHIER DIFFÉRENTIEL PARTIEL DIFFÉRENTIEL PARTIEL |
Type de sauvegarde en tant que chaîne, parmi : NORMAL DIFFERENTIAL INCREMENTAL DAILY |
BackupSetGUID |
uniqueidentifier NULL |
Numéro d'identification unique du jeu de sauvegardes, par lequel s'effectue l'identification sur le support. |
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 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. |
NULL |
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.
Notes
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.
Autorisations
Dans SQL Server 2008, 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).
Une opération de sauvegarde peut éventuellement spécifier des mots de passe pour un support de sauvegarde, pour un jeu de sauvegarde ou pour les deux jeux. 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é |
---|
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. |
Exemples
L'exemple suivant renvoie les informations contenues dans l'en-tête pour le fichier de disque C:\AdventureWorks2008R2-FullBackup.bak.
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks2008R2-FullBackup.bak'
WITH NOUNLOAD;
GO
Voir aussi