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