JetExternalRestore2-Funktion

Gilt für: Windows | Windows Server

JetExternalRestore2-Funktion

Die JetExternalRestore2-Funktion stellt eine externe Sicherung wieder her, die mit den externen Sicherungs-APIs erstellt wurde, und stellt Prüfpunkte bereit, die für zirkuläre Protokollierungsvorgänge verwendet werden können. Dies wird als harte Wiederherstellung bezeichnet, die ähnlich ist, aber sich von der von der JetInit-Funktion durchgeführten weichen Wiederherstellung unterscheidet.

Windows XP: JetExternalRestore2 wird in Windows XP eingeführt.

    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
    );

Parameter

szCheckpointFilePath

Der Pfad für die Prüfpunktdatei, die während der Wiederherstellung verwendet werden soll, wenn szTargetInstanceCheckpointPath nicht angegeben ist oder dieser Pfad eine aktive oder ausgeführte instance aufweist.

szLogPath

Der Pfad oder das Verzeichnis für die Protokolle für die letzte Phase (Rückgängig) der Wiederherstellung und möglicherweise für die Roll forward-Protokolle. Dieser Pfad kann mit szBackupLogPath identisch sein.

rgrstmap

Dies ist ein Array von JET_RSTMAP Strukturen. Dies ist eine Zuordnung von alten und neuen Datenbankpfaden oder Dateinamen. Dies wird verwendet, da die Datenbanken möglicherweise an einem anderen Speicherort als dem Speicherort wiederhergestellt werden müssen, von dem aus sie gesichert wurden. Wenn mehrere Datenbanken an einen einzelnen Protokollierungssatz angefügt sind, kann die Wiederherstellungszuordnung eine Teilmenge der wiederherzustellenden Datenbanken angeben.

crstfilemap

Die Anzahl der Einträge im rgrstmap-Arrayparameter .

szBackupLogPath

Der Pfad zu dem Verzeichnis, in dem die Protokolldateien wiederhergestellt werden. Dies sind die Protokolle, die während der externen Sicherungssequenz ausgelesen wurden. Dieser Pfad kann mit szLogPath identisch sein.

pLogInfo

pLogInfo beschreibt mehrere Aspekte der Sicherungsprotokolle für die Wiederherstellung. Dieser Parameter ermöglicht JetExternalRestore2, die expliziten genLow- und genHigh-Parameter, die JetExternalRestore2 hat, sowie den Basisprotokollnamen anstelle des angenommenen Protokollbasisnamens "edb" zu verwenden.

szTargetInstanceName

Dieser Parameter ist veraltet und kann nicht in Ihrer Anwendung verwendet werden.

szTargetInstanceLogPath

Der Pfad für die Rollforwardprotokolle, wenn sich der Speicherort der Protokolle, die Sie als Rollforward ausführen möchten, in einem aktiven Protokollierungssatz oder instance befinden. Dies sollte nicht angegeben werden, wenn das Ziel instance die Zirkelprotokollierung verwendet.

szTargetInstanceCheckpointPath

Der Pfad für den Prüfpunkt während der Wiederherstellung, wenn an diesem Ziel keine aktiven instance ausgeführt werden. Dies sollte nicht angegeben werden, wenn das Ziel instance die Zirkelprotokollierung verwendet.

pfn

Der status Rückruf, der den Fortschritt der Wiederherstellung meldet.

Rückgabewert

Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errBadRestoreTargetInstance

Der angegebene szTargetInstanceLogPath gehört nicht zu einer initialisierten instance. Dieser Fehler wird nur in Windows XP und höher zurückgegeben.

JET_errDatabaseCorrupted

Dies weist darauf hin, dass die Datenbank beschädigt wurde oder eine nicht erkannte Datei vorhanden ist.

JET_errEndingRestoreLogTooLow

Dieser Fehler wird zurückgegeben, wenn eine für die Protokolldateien im szBackupLogPath über eine Protokollgenerierung verfügt, die in genHigh oder pLogInfo.ulGenHigh angegeben ist.

JET_errFileNotFound

Der Vorgang ist fehlgeschlagen, da die angeforderte Datei nicht geöffnet werden konnte, da sie am angegebenen Pfad nicht gefunden werden konnte.

JET_errInvalidParameter

Einer der bereitgestellten Parameter enthielt einen unerwarteten Wert oder einen Wert, der in Kombination mit dem Wert eines anderen Parameters nicht sinnvoll war. Dies kann bei JetExternalRestore usw. der Fall sein, wenn szTargetCheckpointPath und szTargetInstanceLogPath nicht beide angegeben sind oder nicht beide nicht angegeben sind. Das heißt, sie müssen übereinstimmen und sowohl angegeben als auch nicht angegeben sein.

JET_errInvalidPath

Der Vorgang ist fehlgeschlagen, weil der angegebene Pfad nicht gefunden wurde.

JET_errOutOfMemory

Der Vorgang ist fehlgeschlagen, weil nicht genügend Arbeitsspeicher zugeordnet werden konnte, um ihn abzuschließen.

JET_errRestoreOfNonBackupDatabase

Dieser Fehler wird zurückgegeben, wenn die während der Wiederherstellung angegebene Datenbankdatei keine Datenbank ist, die mit einer externen Sicherung gesichert wurde.

JET_errRunningInOneInstanceMode

Die Datenbank-Engine kann keine externe Wiederherstellung oder harte Wiederherstellung im Modus "Single instance" ausführen. Dieser Fehler wird nur in Windows XP und höher zurückgegeben.

JET_errStartingRestoreLogTooHigh

Dieser Fehler wird zurückgegeben, wenn eine der Protokolldateien im szBackupLogPath eine Protokollgenerierung aufweist, die unter der durch genLow oder pLogInfo.ulGenLow angegebenen Protokollgenerierung liegt.

Bei Erfolg werden alle Datenbanken aus der rgrstmap vollständig wiederhergestellt und weisen einen sauber oder konsistenten Zustand auf. An diesem Punkt kann die Datenbank erneut in eine vorhandene instance eingebunden werden.

Bei einem Fehler konnte die Engine die Datenbank nicht wiederherstellen. Die Datenbank befindet sich in einem ungültigen Zustand, und um die Wiederherstellung erneut durchzuführen, muss die gesamte Datenbank erneut wiederhergestellt werden. In der Regel ist die Ursache einer solchen Situation Datenträger- oder Protokollbeschädigung, eine andere Form der Protokollfehlverwaltung oder ein nicht fortlaufender Protokollsatz.

Bemerkungen

Siehe JetExternalRestore.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista oder Windows XP.

Server

Erfordert Windows Server 2008 oder Windows Server 2003.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetExternalRestore2W (Unicode) und JetExternalRestore2A (ANSI).

Weitere Informationen

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit