Freigeben über


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