Fonction JetBackup
S’applique à : Windows | Windows Server
Fonction JetBackup
La fonction JetBackup crée une sauvegarde de la base de données pendant que la base de données est en ligne. Cette fonction est principalement destinée à la compatibilité descendante avec windows 2000 et les moteurs de base de données antérieurs, où une seule instance d’une base de données est autorisée. Dans ce cas, le instance actif est le instance sauvegardé.
JET_ERR JET_API JetBackup(
__in JET_PCSTR szBackupPath,
__in JET_GRBIT grbit,
__in JET_PFNSTATUS pfnStatus
);
Paramètres
szBackupPath
Répertoire dans lequel la sauvegarde est stockée. Si le chemin de sauvegarde est NULL, la fonction tronque les journaux, si possible.
grbit
Groupe de bits spécifiant zéro ou plusieurs des options suivantes.
Valeur |
Signification |
---|---|
JET_bitBackupAtomic |
Crée une sauvegarde complète de la base de données. Cela permet de conserver une sauvegarde existante dans le même répertoire en cas d’échec de la nouvelle sauvegarde. |
JET_bitBackupIncremental |
Crée une sauvegarde incrémentielle par opposition à une sauvegarde complète. Cela signifie que seuls les fichiers journaux depuis la dernière sauvegarde complète ou incrémentielle seront sauvegardés. |
pfnStatus
Pointeur vers la fonction de rappel JET_PFNSTATUS , qui fournit des informations de notification sur la progression de l’opération de sauvegarde.
Valeur renvoyée
La fonction retourne l’un des codes d’erreur JET_ERR . Les éléments suivants sont les plus couramment retournés. (Pour obtenir la liste complète des erreurs pour cette API, consultez Codes d’erreur du moteur de stockage extensible.)
Code de retour |
Description |
---|---|
JET_errSuccess |
L’opération s’est terminée avec succès. |
JET_errBackupInProgress |
Une sauvegarde est déjà en cours pour le même instance. Plusieurs sauvegardes ne sont pas autorisées en même temps. |
JET_errBackupNotAllowedYet |
Le instance n’est pas encore prêt pour la sauvegarde au cours de son initialisation. |
JET_errClientRequestToStopJetService |
L’opération ne peut pas se terminer, car toutes les activités sur le instance associée à la session ont cessé à la suite d’un appel à JetStopService. |
JET_errInstanceUnavailable |
L’opération ne peut pas se terminer, car le instance associé à la session a rencontré une erreur irrécupérable qui nécessite que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Windows XP : Cette valeur de retour est introduite dans Windows XP. |
JET_errInvalidBackup |
Une sauvegarde incrémentielle n’est pas autorisée si la journalisation circulaire est activée. |
JET_errInvalidGrbit |
Les options spécifiées ne sont pas valides. |
JET_errInvalidParameter |
Un paramètre non valide a été passé dans l’API. |
JET_errInvalidPath |
Le chemin d’accès de destination n’existe pas. |
JET_errLoggingDisabled |
Le instance s’exécute sans journalisation. Aucune sauvegarde n’est autorisée. |
JET_errLogReadVerifyFailure |
Une erreur de vérification de la somme de contrôle s’est produite sur un fichier journal. |
JET_errLogWriteFail |
La journalisation du instance est temporairement ou définitivement désactivée en raison d’une erreur inattendue. |
JET_errNotInitialized |
L’opération ne peut pas se terminer, car le instance associé à la session n’a pas encore été initialisé. |
JET_errReadVerifyFailure |
Une erreur de vérification de la somme de contrôle s’est produite sur une page de base de données. |
JET_errRestoreInProgress |
L’opération ne peut pas se terminer, car une opération de restauration est en cours sur le instance associé à la session. |
JET_errSessionSharingViolation |
La même session ne peut pas être utilisée pour plusieurs threads en même temps. Windows XP : Cette valeur de retour est introduite dans Windows XP. |
JET_errTermInProgress |
L’opération ne peut pas se terminer, car le instance associé à la session est en cours d’arrêt. |
Si la fonction réussit, tous les fichiers nécessaires à une restauration jusqu’au moment de la sauvegarde seront contenus dans le répertoire de sauvegarde. S’il s’agit d’une sauvegarde complète, les fichiers seront les fichiers de base de données et les fichiers journaux nécessaires pour rendre la base de données cohérente. S’il s’agit d’une sauvegarde incrémentielle, seuls les fichiers journaux seront ajoutés aux répertoires, mais les fichiers déjà existants (bases de données et fichiers journaux), ainsi que les nouveaux fichiers journaux, pourront être restaurés pour ramener la base de données à son état au moment où la sauvegarde a commencé.
Comme effet secondaire de la sauvegarde, les fichiers journaux qui ne sont plus nécessaires sont tronqués.
Dans le même temps, les en-têtes de base de données sont mis à jour avec les informations lors de la dernière sauvegarde.
Si la fonction échoue, il n’y aura pas de fichiers dans la destination du répertoire de sauvegarde. Aucune restauration ne sera donc possible. Dans le même temps, les fichiers journaux actuels ne sont pas tronqués.
Notes
Les différentes étapes de la sauvegarde auront des entrées de journal des événements générées, notamment les noms de fichiers, la troncation du journal et le résultat final de la sauvegarde.
Les sauvegardes incrémentielles ne sont possibles qu’une fois qu’une sauvegarde complète a été effectuée. En outre, les sauvegardes incrémentielles sont possibles uniquement si la journalisation circulaire est désactivée. Il est recommandé que le répertoire de sauvegarde ne contienne pas de fichiers autres que ceux utilisés dans la sauvegarde ou ajoutés par une sauvegarde précédente réussie.
Le répertoire de sauvegarde doit exister, sauf si le paramètre JET_paramCreatePathIfNotExist est défini pour le instance. Pour plus d’informations, consultez Paramètres système.
La sauvegarde effectue une vérification de la somme de contrôle sur toutes les pages de base de données utilisées et, à compter de Windows Server 2003, sur les fichiers journaux également. Cela permet d’estimer l’intégrité de la base de données, même pour les pages qui ne sont pas lues pendant des opérations normales. Si un tel endommagement est rencontré, la sauvegarde échoue.
Pendant la sauvegarde, le fichier journal actuel est terminé et un nouveau journal est généré. De cette façon, tous les fichiers journaux nécessaires peuvent être copiés, car le journal actuel ne sera plus utilisé.
Il est vivement recommandé que la sauvegarde ne soit pas utilisée à d’autres fins que la sauvegarde et la restauration au niveau du moteur. Cela réduit le risque d’obtenir des erreurs pendant les opérations de sauvegarde et de restauration.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel. |
Serveur |
Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server. |
En-tête |
Déclaré dans Esent.h. |
Bibliothèque |
Utilisez ESENT.lib. |
DLL |
Nécessite ESENT.dll. |
Unicode |
Implémenté en tant que JetBackupW (Unicode) et JetBackupA (ANSI). |
Voir aussi
Fichiers du moteur de stockage extensibles
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
Paramètres système