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