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