Partager via


Fonction JetExternalRestore2

S’applique à : Windows | Windows Server

Fonction JetExternalRestore2

La fonction JetExternalRestore2 restaure une sauvegarde externe effectuée avec les API de sauvegarde externe et fournit des points de contrôle à utiliser pour les opérations de journalisation circulaire. Il s’agit d’une récupération matérielle, qui est similaire, mais différente de la récupération réversible effectuée par la fonction JetInit .

Windows XP : JetExternalRestore2 est introduit dans Windows XP.

    JET_ERR JET_API JetExternalRestore2(
      __in          JET_PSTR szCheckpointFilePath,
      __in          JET_PSTR szLogPath,
      __in_opt      JET_RSTMAP* rgrstmap,
      __in          long crstfilemap,
      __in          JET_PSTR szBackupLogPath,
      __in_out      JET_LOGINFO* pLogInfo,
      __in_opt      JET_PSTR szTargetInstanceName,
      __in_opt      JET_PSTR szTargetInstanceLogPath,
      __in_opt      JET_PSTR szTargetInstanceCheckpointPath,
      __in          JET_PFNSTATUS pfn
    );

Paramètres

szCheckpointFilePath

Chemin d’accès pour le fichier de point de contrôle à utiliser pendant la récupération si szTargetInstanceCheckpointPath n’est pas spécifié ou si ce chemin a un instance actif ou en cours d’exécution.

szLogPath

Chemin ou répertoire des journaux pour la phase finale (annulation) de la récupération et éventuellement pour les journaux de restauration. Ce chemin d’accès peut être identique à szBackupLogPath.

rgrstmap

Il s’agit d’un tableau de structures JET_RSTMAP . Il s’agit d’une carte des chemins d’accès ou des noms de fichiers de base de données anciens et nouveaux. Cela est utilisé, car les bases de données peuvent avoir besoin d’être récupérées à un emplacement autre que l’emplacement à partir duquel elles ont été sauvegardées. Dans le cas où plusieurs bases de données sont attachées à un seul jeu de journalisation, la carte de restauration peut spécifier un sous-ensemble des bases de données à restaurer.

crstfilemap

Nombre d’entrées dans le paramètre de tableau rgrstmap .

szBackupLogPath

Chemin d’accès au répertoire dans lequel les fichiers journaux sont restaurés. Il s’agit des journaux qui ont été lus pendant la séquence de sauvegarde externe. Ce chemin d’accès peut être identique à szLogPath.

pLogInfo

Le pLogInfo décrit plusieurs aspects des journaux de sauvegarde à la récupération. Ce paramètre permet à JetExternalRestore2 de prendre les paramètres genLow et genHigh explicites de JetExternalRestore2 , ainsi que le nom du journal de base, au lieu d’un nom de base de journal présumé « edb ».

szTargetInstanceName

Ce paramètre est déconseillé et ne peut pas être utilisé dans votre application.

szTargetInstanceLogPath

Chemin d’accès pour les journaux de progression de la restauration si l’emplacement des journaux que vous souhaitez restaurer se trouve dans un ensemble de journaux de journalisation actif ou instance. Cela ne doit pas être spécifié si le instance cible utilise la journalisation circulaire.

szTargetInstanceCheckpointPath

Chemin d’accès du point de contrôle pendant la récupération s’il n’y a pas de instance actif en cours d’exécution sur cette cible. Cela ne doit pas être spécifié si le instance cible utilise la journalisation circulaire.

pfn

Le status rappel, qui indique la progression de la récupération.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. Pour plus d’informations sur les erreurs ESE possibles, consultez Erreurs du moteur de stockage extensible et Paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

JET_errBadRestoreTargetInstance

Le szTargetInstanceLogPath spécifié n’appartient pas à un instance initialisé. Cette erreur sera retournée uniquement dans Windows XP et versions ultérieures.

JET_errDatabaseCorrupted

Cela indique que la base de données a été endommagée ou qu’un fichier n’est pas reconnu.

JET_errEndingRestoreLogTooLow

Cette erreur est retournée si l’un des fichiers journaux dans le szBackupLogPath a une génération de journal au-dessus de celle spécifiée dans genHigh ou pLogInfo.ulGenHigh.

JET_errFileNotFound

L’opération a échoué, car elle n’a pas pu ouvrir le fichier demandé, car il est introuvable au niveau du chemin spécifié.

JET_errInvalidParameter

L’un des paramètres fournis contenait une valeur inattendue ou contenait une valeur qui n’était pas logique lorsqu’elle était combinée à la valeur d’un autre paramètre. Cela peut se produire pour JetExternalRestore, et ainsi de suite lorsque szTargetCheckpointPath et szTargetInstanceLogPath ne sont pas tous deux spécifiés ou non spécifiés. Autrement dit, elles doivent correspondre et être spécifiées ou non spécifiées.

JET_errInvalidPath

L’opération a échoué, car le chemin spécifié est introuvable.

JET_errOutOfMemory

L’opération a échoué, car il n’est pas possible d’allouer suffisamment de mémoire pour la terminer.

JET_errRestoreOfNonBackupDatabase

Cette erreur est retournée si le fichier de base de données spécifié pendant la restauration n’est pas une base de données qui a été sauvegardée avec une sauvegarde externe.

JET_errRunningInOneInstanceMode

Le moteur de base de données ne peut pas exécuter de restauration externe ou de récupération matérielle en mode instance unique. Cette erreur sera retournée uniquement dans Windows XP et versions ultérieures.

JET_errStartingRestoreLogTooHigh

Cette erreur est retournée si l’un des fichiers journaux du szBackupLogPath a une génération de journal ci-dessous spécifiée par genLow ou pLogInfo.ulGenLow.

En cas de réussite, toutes les bases de données du rgrstmap sont entièrement récupérées et dans un état propre ou cohérent. À ce stade, la base de données peut être remonté sur un instance existant.

En cas d’échec, le moteur n’a pas pu récupérer la base de données. La base de données n’est pas valide et, pour effectuer une nouvelle tentative de récupération en dur, la base de données entière doit être restaurée à nouveau. En règle générale, la source d’une telle situation est l’altération du disque ou du journal, ou une autre forme de mauvaise gestion des journaux, ou un jeu de journaux non continu.

Notes

Consultez JetExternalRestore.

Spécifications

Condition requise Valeur

Client

Nécessite Windows Vista ou Windows XP.

Serveur

Nécessite Windows Server 2008 ou Windows Server 2003.

En-tête

Déclaré dans Esent.h.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.

Unicode

Implémenté en tant que JetExternalRestore2W (Unicode) et JetExternalRestore2A (ANSI).

Voir aussi

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit