JetInit3-Funktion
Letzte Änderung: Freitag, 27. Februar 2015
Gilt für: Windows | Windows Server
JetInit3-Funktion
Die Funktion JetInit3 legt die Datenbank-Engine in einen Zustand versetzt, in dem es Anwendungsverwendung der Datenbankdateien unterstützen kann. Das Modul muss bereits ordnungsgemäß für die Initialisierung konfiguriert werden die mit der JetSetSystemParameter -Funktion ausgeführt. Hinweis Diese Datenbank Wiederherstellung nach einem Absturz wird automatisch als Teil der Initialisierung.
Windows Vista: JetInit3 wird in Windows Vista eingeführt.
JET_ERR JET_API JetInit3(
__in_out_opt JET_INSTANCE* pinstance,
__in_opt JET_RSTINFO* prstInfo,
__in JET_GRBIT grbit
);
Parameter
pinstance
Die Instanz, die Sie für einen bestimmten Anruf zu verwenden. Die Verwendung dieses Parameters hängt von den Betriebsmodus des Moduls ab. Wenn die Engine im legacy-Modus (Windows 2000-Kompatibilitätsmodus), betrieben wird, in der nur eine einzige Instanz unterstützt wird, können Sie legen Sie diesen Parameter auf NULL oder einen gültigen Ausgabepuffer mit NULL oder JET_instanceNil, die als Nebenwirkung der Initialisierung erstellten globale Instanz-Zugriffsnummer zurückgibt. Dieses Instanzenhandle kann dann an eine beliebige andere API übergeben werden, die eine Instanz akzeptiert. Wenn das Modul mit mehreren Instanzen betrieben wird, müssen Sie diesen Parameter auf eine gültige Eingabepuffer festlegen, die enthält das Instanzhandle zurückgegeben von der JetCreateInstance -Funktion, die initialisiert wird.
prstInfo
Zusätzliche Wiederherstellungs-Parameter für die Neuzuordnung von Datenbanken während der Wiederherstellung, zum Festlegen der Position, in denen Wiederherstellung beendet wird, oder zum Bestimmen des aktuellen Status Recovery verwendet.
JET_errInvalidGrbit
Eine Gruppe von Bits, die angibt, 0 (null) oder mehrere der Optionen aufgelistet und in der folgenden Tabelle definiert.
Wert |
Bedeutung |
---|---|
JET_bitReplayReplicatedLogFiles |
Dieser Wert ist für eine zukünftige Verwendung reserviert. |
JET_bitCreateSFSVolumeIfNotExist |
Dieser Wert ist für eine zukünftige Verwendung reserviert. |
JET_bitReplayIgnoreMissingDB |
Dieser Wert ermöglicht es, die Wiederherstellung auf einem Satz von Protokolldateien, auch in Abwesenheit der Datenbanken ausgeführt werden, in die Protokolldatei zu einem bestimmten Zeitpunkt festgelegt wurden. |
JET_bitRecoveryWithoutUndo |
Dieser Wert ermöglicht es, Wiederherstellung, jedoch nur bis zur (und nicht einschließlich) der Rollbackphase. Zusätzliche Transaktionsprotokolle können anhand dieses Werts kopiert und angewendet. |
JET_bitTruncateLogsAfterRecovery |
Dieser Wert bewirkt, dass Protokolldateien bei einem soft Recovery-Vorgang erfolgreich abgeschnitten werden. |
JET_bitReplayMissingMapEntryDB |
Dieser Wert bewirkt, dass einen fehlende Datenbank Zuordnungseintrag, standardmäßig auf den gleichen Pfad. |
JET_bitReplayIgnoreLostLogs |
Dieser Wert bewirkt, dass Protokolle vom Ende der Datenstrom ignoriert während einer Wiederherstellung verloren. Windows 7:JET_bitReplayIgnoreLostLogs ist in Windows 7 eingeführt. |
Return Value
Diese Funktion gibt den Datentyp der JET_ERR mit einem der folgenden Rückgabecodes. Finden Sie weitere Informationen zu den möglichen Fehlern (ESE = Extensible Storage Engine) Extensible Storage Engine-Fehler und Fehler behandeln Parameter.
Anmerkungen
Bevor sie durch etwas anderes als die JetSetSystemParameter -Funktion verwendet werden kann, muss eine Instanz mit einem Aufruf der Funktion JetInit3 initialisiert werden.
Eine Instanz wird durch einen Aufruf der Funktion JetTerm ist zerstört, selbst wenn diese Instanz mithilfe der Funktion JetInit niemals initialisiert wurde. Eine Instanz ist die Wiederherstellbarkeit für das Datenbankmodul. Er steuert den Lebenszyklus aller Dateien, die zum Schutz der Integrität der Daten in einem Satz von Datenbankdateien. Diese Dateien enthalten die Prüfpunktdatei und der Transaktionsprotokolldateien. Beachten Sie, dass JetTerm ist nicht aufgerufen werden darf, wenn die Funktion JetInit3 fehlschlägt. Allerdings sollte JetTerm ist immer noch aufgerufen werden, für alle Instanzen von JetCreateInstance2 erstellt wurden, wenn JetInit3 noch nie aufgerufen wurde, oder wenn JetInit3 erfolgreich ist.
Wenn Recovery auf eine Reihe von Protokollen für die nicht alle zugehörigen Datenbanken vorhanden sind (das den Fehler JET_errAttachedDatabaseMismatch unter normalen Umständen zurückgibt) ausgeführt wird und der Client möchte Recovery trotz fehlenden Datenbanken fortsetzen, wird der Fehler JET_bitReplayIgnoreMissingDB Recovery für die verfügbaren Datenbanken weiterhin verwendet.
Da die Wiederherstellung nach einem Absturz in der Regel auf dem gleichen Computer (und mit der gleichen Konfiguration) wie zum Zeitpunkt des Absturzes nicht geschieht, ändern keine Datenbank i. d. r. Speicherort. In bestimmten Szenarien wie z. B. snapshot-Dateien auf einem anderen Computer verschieben oder Wiederherstellen der Sicherung an verschiedenen Standorten gilt dies nicht mehr. Die JetInit3 -Funktion können Sie eine Zuordnung (mit JET_RSTINFO und JET_RSTMAP -Strukturen) zwischen den alten Datenbankspeicherort und der neuen Position an. In der Tat benötigen Sie nur den neuen Speicherort, solange die Datenbankdateien an diesem Speicherort vorhanden sind. Sobald Sie die Speicherorte der wiederhergestellten Datenbanken kennen, wird die Signatur zum Identifizieren der Datenbank durch den Wiederherstellungsvorgang verwendet werden. Sie benötigen den ursprünglichen Datenbankspeicherort nur, wenn Sie eine Datenbank neu erstellen, in der Fall die Signatur bekannt ist.
Darüber hinaus können Sie eine Wiederherstellung nach einem Rückgängig-Vorgang unterbrechen müssen, Sie eine bestimmten Position angeben, an die Wiederherstellung beendet wird. Beachten Sie, dass dies die Möglichkeit bietet, am Ende einer bestimmten Protokollgenerierung beenden, wenn die angegebene Position in der Generation, aber nach dem Ende des aktuellen Protokolls ist.
Weitere Informationen finden Sie im Abschnitt "Hinweise" unter dem Thema JetInit .
Voraussetzungen
Client- |
Ist Windows Vista erforderlich. |
Server |
Erfordert WindowsServer 2008. |
Kopfzeile |
In Esent.h deklariert. |
Bibliothek |
ESENT.lib verwendet. |
DLL |
"ESENT.dll" erfordert. |
Unicode |
Implementiert als JetInit3W (Unicode) und JetInit3A (ANSI). |
Siehe auch
Extensible Storage Engine-Dateien
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Ressourcenparametern