JetBackup-Funktion

Gilt für: Windows | Windows Server

JetBackup-Funktion

Die JetBackup-Funktion erstellt eine Sicherung der Datenbank, während die Datenbank online ist. Diese Funktion dient in erster Linie der Abwärtskompatibilität mit Windows 2000 und früheren Datenbank-Engines, bei denen nur eine instance einer Datenbank zulässig ist. In diesem Fall ist der aktive instance die instance, die gesichert wird.

    JET_ERR JET_API JetBackup(
      __in          JET_PCSTR szBackupPath,
      __in          JET_GRBIT grbit,
      __in          JET_PFNSTATUS pfnStatus
    );

Parameter

szBackupPath

Das Verzeichnis, in dem die Sicherung gespeichert ist. Wenn der Sicherungspfad NULL ist, schneidet die Funktion die Protokolle nach Möglichkeit ab.

grbit

Eine Gruppe von Bits, die null oder mehr der folgenden Optionen angibt.

Wert

Bedeutung

JET_bitBackupAtomic

Erstellt eine vollständige Sicherung der Datenbank. Dies ermöglicht die Beibehaltung einer vorhandenen Sicherung im selben Verzeichnis, wenn die neue Sicherung fehlschlägt.

JET_bitBackupIncremental

Erstellt eine inkrementelle Sicherung im Gegensatz zu einer vollständigen Sicherung. Dies bedeutet, dass nur die Protokolldateien seit der letzten vollständigen oder inkrementellen Sicherung gesichert werden.

pfnStatus

Zeiger auf die JET_PFNSTATUS Rückruffunktion, die Benachrichtigungsinformationen zum Fortschritt des Sicherungsvorgangs bereitstellt.

Rückgabewert

Die Funktion gibt einen der JET_ERR Fehlercodes zurück. Die folgenden werden am häufigsten zurückgegeben. (Eine vollständige Liste der Fehler für diese API finden Sie unter Fehlercodes der Erweiterbaren Speicher-Engine.)

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errBackupInProgress

Für dieselbe instance wird bereits eine Sicherung ausgeführt. Mehrere Sicherungen sind nicht gleichzeitig zulässig.

JET_errBackupNotAllowedYet

Der instance ist während der Initialisierung noch nicht für die Sicherung bereit.

JET_errClientRequestToStopJetService

Der Vorgang kann nicht abgeschlossen werden, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurde.

JET_errInstanceUnavailable

Der Vorgang kann nicht abgeschlossen werden, da bei der der Sitzung zugeordneten instance ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen.

Windows XP: Dieser Rückgabewert wird in Windows XP eingeführt.

JET_errInvalidBackup

Eine inkrementelle Sicherung ist nicht zulässig, wenn die Zirkelprotokollierung aktiviert ist.

JET_errInvalidGrbit

Die angegebenen Optionen sind ungültig.

JET_errInvalidParameter

Ein ungültiger Parameter wurde an die API übergeben.

JET_errInvalidPath

Der Zielpfad ist nicht vorhanden.

JET_errLoggingDisabled

Die instance wird ohne Protokollierung ausgeführt. Es ist keine Sicherung zulässig.

JET_errLogReadVerifyFailure

Für eine Protokolldatei ist ein Prüfsummenüberprüfungsfehler aufgetreten.

JET_errLogWriteFail

Die Protokollierung für die instance ist vorübergehend oder aufgrund eines unerwarteten Fehlers dauerhaft deaktiviert.

JET_errNotInitialized

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde.

JET_errReadVerifyFailure

Auf einer Datenbankseite ist ein Prüfsummenüberprüfungsfehler aufgetreten.

JET_errRestoreInProgress

Der Vorgang kann nicht abgeschlossen werden, da ein Wiederherstellungsvorgang auf dem der Sitzung zugeordneten instance ausgeführt wird.

JET_errSessionSharingViolation

Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden.

Windows XP: Dieser Rückgabewert wird in Windows XP eingeführt.

JET_errTermInProgress

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete instance heruntergefahren wird.

Wenn die Funktion erfolgreich ist, werden alle Dateien, die bis zum Zeitpunkt der Sicherung für eine Wiederherstellung erforderlich sind, im Sicherungsverzeichnis enthalten. Wenn es sich um eine vollständige Sicherung handelt, handelt es sich bei den Dateien um die Datenbankdateien und die Protokolldateien, die erforderlich sind, um die Datenbank in einen konsistenten Zustand zu versetzen. Wenn es sich um eine inkrementelle Sicherung handelt, werden den Verzeichnissen nur Protokolldateien hinzugefügt, aber die bereits vorhandenen Dateien (Datenbanken und Protokolldateien) können zusammen mit den neuen Protokolldateien wiederhergestellt werden, um die Datenbank wieder in den Zustand zu versetzen, in dem sie sich zum Zeitpunkt der Sicherung befand.

Als Nebeneffekt der Sicherung werden die nicht mehr benötigten Protokolldateien abgeschnitten.

Gleichzeitig werden die Datenbankheader mit den Informationen aktualisiert, wenn die letzte Sicherung durchgeführt wurde.

Wenn die Funktion fehlschlägt, befinden sich keine Dateien im Ziel des Sicherungsverzeichnisses, sodass keine Wiederherstellung möglich ist. Gleichzeitig werden die aktuellen Protokolldateien nicht abgeschnitten.

Bemerkungen

Für die verschiedenen Schritte der Sicherung werden Ereignisprotokolleinträge generiert, einschließlich der Dateinamen, der Protokollabkürzung und des Endergebnisses der Sicherung.

Inkrementelle Sicherungen sind erst möglich, nachdem eine vollständige Sicherung erstellt wurde. Außerdem sind inkrementelle Sicherungen nur möglich, wenn die Kreisprotokollierung deaktiviert ist. Es wird empfohlen, dass das Sicherungsverzeichnis keine anderen Dateien als die dateien enthalten sollte, die in der Sicherung verwendet oder von einer vorherigen erfolgreichen Sicherung hinzugefügt wurden.

Das Sicherungsverzeichnis sollte vorhanden sein, es sei denn, der Parameter JET_paramCreatePathIfNotExist ist für den instance festgelegt. Weitere Informationen finden Sie unter Systemparameter.

Die Sicherung führt eine Prüfsummenüberprüfung auf allen verwendeten Datenbankseiten und ab Windows Server 2003 auch für die Protokolldateien durch. Dies bietet die Möglichkeit, die Integrität der Datenbank zu schätzen, auch für Seiten, die während des normalen Betriebs nicht gelesen werden. Wenn eine solche Beschädigung auftritt, schlägt die Sicherung fehl.

Während der Sicherung wird die aktuelle Protokolldatei abgeschlossen und ein neues Protokoll generiert. Auf diese Weise können alle erforderlichen Protokolldateien kopiert werden, da das aktuelle Protokoll nicht mehr verwendet wird.

Es wird dringend empfohlen, die Sicherung nicht für andere Zwecke als die Sicherung und Wiederherstellung auf Modulebene zu verwenden. Dadurch wird die Wahrscheinlichkeit minimiert, dass während der Sicherungs- und Wiederherstellungsvorgänge Fehler auftreten.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetBackupW (Unicode) und JetBackupA (ANSI).

Weitere Informationen

Erweiterbare Speichermoduldateien
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
Systemparameter