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