JetInit3-Funktion

Gilt für: Windows | Windows Server

JetInit3-Funktion

Die JetInit3-Funktion versetzt die Datenbank-Engine in einen Zustand, in dem sie die Anwendungsverwendung von Datenbankdateien unterstützen kann. Die Engine muss bereits ordnungsgemäß für die Initialisierung konfiguriert sein, was Sie mithilfe der JetSetSystemParameter-Funktion erreichen. Beachten Sie, dass die Datenbankabsturzwiederherstellung automatisch als Teil des Initialisierungsprozesses erfolgt.

**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 Aufruf verwenden. Die Verwendung dieses Parameters hängt vom Betriebsmodus der Engine ab. Wenn die Engine im Legacymodus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird, in dem nur eine Instanz unterstützt wird, können Sie diesen Parameter entweder auf NULL oder auf einen gültigen Ausgabepuffer mit NULL oder JET_instanceNil festlegen, der das globale Instanzhandle zurückgibt, das als Nebeneffekt der Initialisierung erstellt wurde. Dieses Instanzhandle kann dann an jede andere API übergeben werden, die eine -Instanz annimmt. Wenn die Engine im Modus mit mehreren Instanzen ausgeführt wird, müssen Sie diesen Parameter auf einen gültigen Eingabepuffer festlegen, der das Instanzhandle enthält, das von der initialisierten JetCreateInstance-Funktion zurückgegeben wird.

prstInfo

Zusätzliche Wiederherstellungsparameter, die für die Neuzuordnung von Datenbanken während der Wiederherstellung, zum Festlegen der Position, an der die Wiederherstellung beendet wird, oder zum Bestimmen des aktuellen Wiederherstellungsstatus verwendet werden.

grbit

Eine Gruppe von Bits, die null oder mehr der in der folgenden Tabelle aufgeführten und definierten Optionen angibt.

Wert

Bedeutung

JET_bitReplayReplicatedLogFiles

Dieser Wert ist für die zukünftige Verwendung reserviert.

JET_bitCreateSFSVolumeIfNotExist

Dieser Wert ist für die zukünftige Verwendung reserviert.

JET_bitReplayIgnoreMissingDB

Dieser Wert ermöglicht es dem Benutzer, die Wiederherstellung für einen Satz von Protokolldateien auszuführen, auch wenn die Datenbanken nicht vorhanden sind, die zu einem bestimmten Zeitpunkt an den Protokolldateisatz angefügt wurden.

JET_bitRecoveryWithoutUndo

Dieser Wert ermöglicht es dem Benutzer, die Wiederherstellung durchzuführen, aber nur bis zur Rückgängig-Phase (und nicht einschließlich). Mit diesem Wert können zusätzliche Transaktionsprotokolle kopiert und angewendet werden.

JET_bitTruncateLogsAfterRecovery

Dieser Wert bewirkt, dass Protokolldateien während einer erfolgreichen weichen Wiederherstellung abgeschnitten werden.

JET_bitReplayMissingMapEntryDB

Dieser Wert bewirkt, dass ein fehlender Datenbankzuordnungseintrag standardmäßig am gleichen Speicherort gespeichert wird.

JET_bitReplayIgnoreLostLogs

Dieser Wert bewirkt, dass Protokolle, die am Ende des Protokolldatenstroms verloren gegangen sind, während einer Wiederherstellung ignoriert werden.

Windows 7:JET_bitReplayIgnoreLostLogs wird in Windows 7 eingeführt.

Rückgabewert

Diese Funktion gibt den JET_ERR Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern (Extensible Storage Engine) finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.

Bemerkungen

Eine -Instanz muss mit einem Aufruf der JetInit3-Funktion initialisiert werden, bevor sie von einer anderen Funktion als der JetSetSystemParameter-Funktion verwendet werden kann.

Eine Instanz wird durch einen Aufruf der JetTerm-Funktion zerstört, auch wenn diese Instanz nie mithilfe der JetInit-Funktion initialisiert wurde. Eine -Instanz ist die Einheit der Wiederherstellbarkeit für die Datenbank-Engine. Sie steuert den Lebenszyklus aller Dateien, die zum Schutz der Integrität der Daten in einem Satz von Datenbankdateien verwendet werden. Zu diesen Dateien gehören die Prüfpunktdatei und die Transaktionsprotokolldateien. Beachten Sie, dass JetTerm nicht aufgerufen werden sollte, wenn die JetInit3-Funktion fehlschlägt. JetTerm sollte jedoch weiterhin für alle von JetCreateInstance2 erstellten Instanzen aufgerufen werden, wenn JetInit3 nie aufgerufen wurde oder JetInit3 erfolgreich war.

Wenn die Wiederherstellung in einem Satz von Protokollen ausgeführt wird, für die nicht alle zugehörigen Datenbanken vorhanden sind (wodurch der Fehler unter normalen Umständen JET_errAttachedDatabaseMismatch zurückgegeben wird) und der Client die Wiederherstellung trotz der fehlenden Datenbanken fortsetzen möchte, wird der JET_bitReplayIgnoreMissingDB Fehler verwendet, um die Wiederherstellung für die verfügbaren Datenbanken fortzusetzen.

Da die Wiederherstellung nach einem Absturz in der Regel nicht auf demselben Computer (und mit der gleichen Konfiguration) wie zum Zeitpunkt des Absturzes erfolgt, ändert sich der Speicherort einer Datenbank in der Regel nicht. In bestimmten Szenarien wie dem Verschieben von Dateien auf einen anderen Computer oder dem Wiederherstellen der Momentaufnahmesicherung an verschiedenen Speicherorten ist dies nicht mehr der Fall. Mit der JetInit3-Funktion können Sie eine Zuordnung (mithilfe der JET_RSTINFO und JET_RSTMAP Strukturen) zwischen dem alten Datenbankspeicherort und dem neuen Speicherort angeben. Tatsächlich 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 Datenbanksignatur verwendet, um die Datenbank während des Wiederherstellungsprozesses zu identifizieren. Sie benötigen den ursprünglichen Datenbankspeicherort nur, wenn Sie eine Datenbank neu erstellen müssen. In diesem Fall ist die Signatur bekannt.

Wenn Sie eine Wiederherstellung nach einem Rückgängig-Vorgang beenden müssen, können Sie außerdem eine bestimmte Protokollposition angeben, an der die Wiederherstellung beendet wird. Beachten Sie, dass dies die Möglichkeit einschließt, am Ende einer bestimmten Protokollgenerierung anzuhalten, wenn die angegebene Position Teil der Generierung ist, aber nach dem Ende des eigentlichen Protokolls liegt.

Weitere Informationen finden Sie im Abschnitt "Hinweise" des JetInit-Themas.

Requirements (Anforderungen)

Anforderung Wert

Client

Erfordert Windows Vista.

Server

Erfordert Windows Server 2008.

Header

Deklariert in Esent.h.

Bibliothek

Verwendet ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetInit3W (Unicode) und JetInit3A (ANSI).

Weitere Informationen

Erweiterbare Storage-Engine-Dateien
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Ressourcenparameter