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 mit der JetSetSystemParameter-Funktion erreichen. Beachten Sie, dass die Datenbankabsturzwiederherstellung automatisch im Rahmen 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 instance, die Sie für einen bestimmten Anruf verwenden. Die Verwendung dieses Parameters hängt vom Betriebsmodus des Motors ab. Wenn das Modul im Legacymodus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird, in dem nur eine instance unterstützt wird, können Sie diesen Parameter entweder auf NULL oder auf einen gültigen Ausgabepuffer festlegen, der entweder NULL oder JET_instanceNil enthält. Dadurch wird das globale instance-Handle zurückgegeben, das als Nebeneffekt der Initialisierung erstellt wurde. Dieses instance-Handle kann dann an jede andere API übergeben werden, die eine instance. Wenn das Modul im Modus mit mehreren instance ausgeführt wird, müssen Sie diesen Parameter auf einen gültigen Eingabepuffer festlegen, der den instance Von der jetCreateInstance-Funktion zurückgegebenen Handle enthält, die initialisiert wird.

prstInfo

Zusätzliche Wiederherstellungsparameter, die zum erneuten Erstellen von Datenbanken während der Wiederherstellung, zum Festlegen der Position, an der die Wiederherstellung beendet wird, oder zum Bestimmen der aktuellen Wiederherstellungs-status verwendet werden.

grbit

Eine Gruppe von Bits, die mindestens null 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 eine Reihe von Protokolldateien auszuführen, auch wenn die Datenbanken fehlen, die an den Protokolldateisatz angefügt wurden.

JET_bitRecoveryWithoutUndo

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

JET_bitTruncateLogsAfterRecovery

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

JET_bitReplayMissingMapEntryDB

Dieser Wert bewirkt, dass ein fehlender Datenbankzuordnungseintrag standardmäßig an demselben Speicherort angezeigt wird.

JET_bitReplayIgnoreLostLogs

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

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

Rückgabewert

Diese Funktion gibt den datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen Ese-Fehlern (Extensible Storage Engine) finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Bemerkungen

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

Ein instance wird durch einen Aufruf der JetTerm-Funktion zerstört, auch wenn diese instance nie mithilfe der JetInit-Funktion initialisiert wurde. Ein instance ist die Einheit der Wiederherstellbarkeit für die Datenbank-Engine. Es steuert den Lebenszyklus aller Dateien, die zum Schutz der Integrität der Daten in einer Reihe 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 ausfällt. JetTerm sollte jedoch weiterhin für alle Instanzen aufgerufen werden, die von JetCreateInstance2 erstellt wurden, wenn JetInit3 nie aufgerufen wurde oder Wenn JetInit3 erfolgreich ist.

Wenn die Wiederherstellung für eine Reihe von Protokollen ausgeführt wird, für die nicht alle zugehörigen Datenbanken vorhanden sind (was den Fehler JET_errAttachedDatabaseMismatch unter normalen Umständen zurückgibt), und der Client möchte, dass die Wiederherstellung trotz der fehlenden Datenbanken fortgesetzt wird, wird der JET_bitReplayIgnoreMissingDB Fehler verwendet, um die Wiederherstellung für die verfügbaren Datenbanken fortzusetzen.

Da die Absturzwiederherstellung normalerweise nicht auf demselben Computer (und mit derselben Konfiguration) wie zum Zeitpunkt des Absturzes erfolgt, ändert eine Datenbank in der Regel nicht den Speicherort. In bestimmten Szenarien, z. B. beim Verschieben von Dateien auf einen anderen Computer oder beim Wiederherstellen Momentaufnahme Sicherung 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 Wiederherstellungsvorgangs 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 umfasst, am Ende einer bestimmten Protokollgenerierung anzuhalten, wenn die angegebene Position Teil der Generierung ist, aber über das Ende des tatsächlichen Protokolls hinaus.

Weitere Informationen finden Sie im Abschnitt "Hinweise" im JetInit-Thema .

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 Speichermoduldateien
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Ressourcenparameter