Share via


JetBeginExternalBackup-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JetBeginExternalBackup-Funktion

Die JetBeginExternalBackup -Funktion initiiert eine externe Sicherung, während das Modul und die Datenbank ist jetzt online und aktiv. JetBeginExternalBackup ist der erste in einer Reihe von Funktionen, die zum Ausführen einer Sicherung erfolgreich online (nicht-VSS-basierte) aufgerufen werden muss.

Eine externe Sicherung kann verwendet werden, um vollständige, inkrementelle oder differenzielle Sicherungen zu implementieren.

Die Sicherung werden verschwommene, die Sicherung wird in der Zeit in die Transaktionshistorie auf einen einzelnen Punkt konsistent sein, aber exakten an dem Punkt in der Zeit zu kontrollieren nicht möglich ist.

JET_ERR JET_API JetBeginExternalBackup(
  __in          JET_GRBIT grbit
);

Parameter

JET_errInvalidGrbit

Eine Gruppe von Bits, die 0 (null) oder mehr der folgenden Optionen angeben.

Wert

Bedeutung

JET_bitBackupAtomic

Dieses Flag ist veraltet. Verwendung dieses Bit führt zu 0xFFFFFC7C zurückgegeben wird.

JET_bitBackupIncremental

Im Gegensatz zu einer vollständigen Sicherung bei einer inkrementelle Sicherung erstellt. Dies bedeutet, dass nur die Protokolldateien, seit die letzte vollständige oder inkrementelle Sicherung gesichert wird.

JET_bitBackupSnapshot

Für die zukünftige Verwendung reserviert. Definiert für Windows XP.

Return Value

Diese Funktion gibt den Datentyp der JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehler und Fehler behandeln Parameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errBackupInProgress

Wenn eine externe backup oder Snapshotreplikation Sicherung bereits ausgeführt wird wird, bis JetBeginExternalBackup (oder einer der Varianten davon) aufgerufen, wird dieser Fehler zurückgegeben,. Mit ESE können nur eine online-Sicherung zu einem Zeitpunkt.

JET_errBackupNotAllowedYet

Instanz oder Datenbank-Engine wird bei der Wiederherstellung oder in einer Phase Herunterfahren oder Beendigung.

JET_errCheckpointCorrupt

Für eine vollständige Sicherung die Prüfpunktdatei konnte nicht gelesen werden, oder die Datei konnte nicht überprüft werden.

JET_errCheckpointFileNotFound

Für eine vollständige Sicherung konnte die Prüfpunktdatei nicht gefunden werden.

JET_errClientRequestToStopJetService

Der Vorgang kann nicht abgeschlossen werden, da alle Aktivitäten auf die Instanz, die mit der Sitzung ist, aufgrund eines Aufrufs von JetStopServiceeingestellt hat.

JET_errInstanceUnavailable

Der Vorgang kann nicht abgeschlossen werden, da die Instanz, die mit der Sitzung ist, ein schwerwiegender Fehler, der erfordert aufgetreten ist, dass der Zugriff auf alle Daten gesperrt werden, um die Integrität der Daten zu schützen.

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

JET_errInvalidBackup

Zirkuläre Protokollierung aktiviert ist und die angegebene Sicherungsart ist JET_bitBackupIncremental. Finden Sie unter JET_paramCircularLog in der Transaktion protokolliert Fehler Informationen dazu, wie Sie steuern runden oder nicht kreisförmige Protokollierung.

JET_errInvalidgrbit

Eine oder mehrere der Mitglieder JET_errInvalidGrbit war ungültig.

JET_errLoggingDisabled

Protokollierung und Wiederherstellung ist deaktiviert. Eine online-Sicherung nicht wenn die Protokollierung deaktiviert ist. Weitere Informationen zur Protokollierung und Wiederherstellung finden Sie unter JET_paramRecovery.

JET_errLogWriteFail

Das Modul wurde beendet auf das Protokolllaufwerk Protokoll wird vollständige oder Datenträger-e/a-Fehler beim Schreiben.

JET_errMissingFullBackup

Die inkrementelle Sicherung (mit JET_bitBackupIncremental) angegeben wurde, und eine vollständige Sicherung wurde nie ausgeführt, für die angefügte Datenbank für die Protokollierung bereit.

JET_errNotInitialized

Der Vorgang kann nicht abgeschlossen werden, da die Instanz, die mit der Sitzung ist, noch nicht initialisiert wurde.

JET_errOutOfMemory

Der Vorgang ist fehlgeschlagen, weil nicht genügend Speicher zugewiesen werden konnte, um sie durchzuführen.

JET_errRestoreInProgress

Der Vorgang kann nicht abgeschlossen werden, da ein Wiederherstellungsvorgang ausgeführt auf die Instanz der Sitzung zugeordnet wird.

JET_errRunningInMultiInstanceMode

Der Vorgang ist fehlgeschlagen, da versucht wurde, verwenden Sie die Engine im legacy-Modus (Windows 2000-Kompatibilitätsmodus), wird nur eine einzige Instanz unterstützt, wenn tatsächlich mehrere Instanzen vorhanden.

JET_errTermInProgress

Der Vorgang kann nicht abgeschlossen werden, da das Herunterfahren der Instanz, die die Sitzung zugeordnet ist.

Wenn die Funktion erfolgreich ist, wird eine externe Sicherung initiiert und backup Statusmodul initialisiert. Nachfolgende APIs kann nun aufgerufen werden, füllen Sie die externen Folge von Protokollsicherungen und Stream und die Datenbankdatei, die Patch-Datenbankdatei (falls unterstützt) und die Log-Datei lesen. Ein Ereignis kann protokolliert werden, dass eine externe Sicherung begonnen hat.

Wenn die Funktion fehlschlägt, wird die Sicherung nicht initiiert werden. Wenn Sie eine andere Sicherung ausgeführt wird, wird er nicht abgebrochen werden.

Anmerkungen

Externe backup-Prozess (wie von JetBeginExternalBackupgestartet) soll ein unscharf online Transaktionsprotokollsicherung die gesamte Instanz zu einem Zielgerät als Stream ermöglichen. Die Sicherung enthält alle, die die Datenbankdateien, die die Instanz mithilfe von JetAttachDatabase (für eine vollständige Sicherung) zugeordnet sind, gefolgt von deren zugeordnete Datenbank-Patchdateien (falls unterstützt) und schließlich das Transaktionsprotokoll-Dateien, die während des Sicherungsprozesses generiert wurden. Das Endergebnis werden eine Reihe von Dateien, die aus dem Stream wiederhergestellt, gegebenenfalls in Verbindung mit vorhandenen Datenbank- und Protokolldateien und schließlich in einen konsistenten Zustand wiederhergestellt werden können.

Die allgemeine Reihenfolge der Vorgänge für eine vollständige Sicherung besteht aus den folgenden aufgerufen. Zunächst wird JetBeginExternalBackup aufgerufen, um den Sicherungsvorgang zu starten. Dann wird JetGetAttachInfo aufgerufen, um die Liste der Datenbanken zu erhalten, die der Instanz zugeordnet sind, die gesichert werden müssen. Für alle diese Datenbanken einschließen wird JetOpenFile aufgerufen, gefolgt von einer Anzahl von JetReadFile aufrufen und dann durch einen Aufruf von JetCloseFile. Dann wird JetGetLogInfo aufgerufen, um eine Liste der Datenbank Patch und Log-Dateien gesichert werden, abzurufen. Für jede dieser Dateien eine andere Folge von JetOpenFile, JetReadFileund JetCloseFile -Aufrufe erfolgen. Dann werden alle unerwünschten Transaktionsprotokolldateien gelöscht JetTruncateLogverwenden. Schließlich wird durch einen Aufruf von JetEndExternalBackupdie Sicherung beendet.

Es ist auch möglich, diese Schritte zum Durchführen einer inkrementellen Sicherung der Instanz zu ändern. Bei einer inkrementelle Sicherung werden aufgelistet und Protokolldateien gesichert. Inkrementelle Sicherungen sind nur möglich, wenn die zirkuläre Protokollierung nicht aktiviert ist.

Es kann auch zum Ändern dieser Schritte, um nachfolgende differenzielle Sicherungen der Instanz ausgeführt werden kann. Rufen Sie zum Durchführen einer differenziellen Sicherung nicht JetTruncateLog in der letzten vollständigen oder inkrementellen Sicherung. JetTruncateLognicht aufgerufen wird, können Sie nachfolgende Sicherungen differenzielle in Bezug auf der letzten vollständigen oder inkrementellen Sicherung sein. Differenzielle Sicherungen sind nur möglich, wenn die zirkuläre Protokollierung nicht aktiviert ist.

Datenbank-Patch-Datei ist eine spezielle Hilfs-Datei, mit der Datenbankseiten-Images unter Umständen während der Sicherung gespeichert. Diese Datei muss in demselben Speicherort wie der zugehörigen Datenbank während einer Wiederherstellung vorliegen. Diese Datei wird nur unter Windows 2000 verwendet. Daher muss jede Anwendung, die geschrieben wurde von Windows 2000 und anderen Versionen Datenbank-Patchdateien unterstützen, wenn vorhanden sind, sondern auch nicht fehl muss, wenn sie nicht vorhanden sind.

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

"ESENT.dll" erfordert.

Siehe auch

JET_ERR
JET_GRBIT
JET_INSTANCE
JetAttachDatabase
JetBeginExternalBackupInstance
JetCloseFile
JetEndExternalBackup
JetEndExternalBackupInstance2
JetGetAttachInfo
JetGetLogInfo
JetOpenFile
JetReadFile
JetStopBackup
JetTruncateLog