Funzione JetBackup

Si applica a: Windows | Windows Server

Funzione JetBackup

La funzione JetBackup crea un backup del database mentre il database è online. Questa funzione è principalmente per la compatibilità con le versioni precedenti con i motori di database windows 2000 e precedenti, in cui è consentita solo un'istanza di un database. In questo caso, l'istanza attiva è l'istanza di cui è stato eseguito il backup.

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

Parametri

szBackupPath

Directory in cui viene archiviato il backup. Se il percorso di backup è NULL, la funzione tronca i log, se possibile.

grbit

Un gruppo di bit che specificano zero o più delle opzioni seguenti.

Valore

Significato

JET_bitBackupAtomic

Crea un backup completo del database. Ciò consente la conservazione di un backup esistente nella stessa directory se il nuovo backup ha esito negativo.

JET_bitBackupIncremental

Crea un backup incrementale anziché un backup completo. Ciò significa che solo i file di log dall'ultimo backup completo o incrementale verranno sottoposti a backup.

pfnStatus

Puntatore alla funzione di callback JET_PFNSTATUS, che fornisce informazioni sullo stato di avanzamento dell'operazione di backup.

Valore restituito

La funzione restituisce uno dei codici di errore JET_ERR . Di seguito è riportato il valore più comunemente restituito. Per un elenco completo di errori per questa API, vedere Codici di errore del motore di archiviazione estendibili.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errBackupInProgress

Un backup è già in corso per la stessa istanza. Più backup non sono consentiti contemporaneamente.

JET_errBackupNotAllowedYet

L'istanza non è ancora pronta per il backup perché inizializza.

JET_errClientRequestToStopJetService

L'operazione non può essere completata perché tutte le attività nell'istanza associata alla sessione hanno interrotto come risultato di una chiamata a JetStopService.

JET_errInstanceUnavailable

Impossibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede che l'accesso a tutti i dati venga revocato per proteggere l'integrità dei dati.

Windows XP: Questo valore restituito viene introdotto in Windows XP.

JET_errInvalidBackup

Un backup incrementale non è consentito se la registrazione circolare è attiva.

JET_errInvalidGrbit

Le opzioni specificate non sono valide.

JET_errInvalidParameter

Un parametro non valido è stato passato all'API.

JET_errInvalidPath

Il percorso di destinazione non esiste.

JET_errLoggingDisabled

L'istanza è in esecuzione senza registrazione. Non è consentito alcun backup.

JET_errLogReadVerifyFailure

Errore di verifica checksum in un file di log.

JET_errLogWriteFail

La registrazione per l'istanza è temporanea o disabilitata definitivamente a causa di un errore imprevisto.

JET_errNotInitialized

Impossibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata.

Jet_errreadverifyfailure

Errore di verifica checksum in una pagina del database.

JET_errRestoreInProgress

L'operazione non può essere completata perché un'operazione di ripristino è in corso nell'istanza associata alla sessione.

JET_errSessionSharingViolation

La stessa sessione non può essere usata contemporaneamente per più thread.

Windows XP: Questo valore restituito viene introdotto in Windows XP.

JET_errTermInProgress

Impossibile completare l'operazione perché l'istanza associata alla sessione viene arrestata.

Se la funzione ha esito positivo, tutti i file necessari per un ripristino fino al momento del backup saranno contenuti nella directory di backup. Se si tratta di un backup completo, i file saranno i file di database e i file di log necessari per portare il database a uno stato coerente. Se si tratta di un backup incrementale, solo i file di log verranno aggiunti alle directory, ma i file già esistenti (database e file di log), insieme ai nuovi file di log, potranno essere ripristinati per riportare il database allo stato in cui è stato avviato il backup.

Come effetto collaterale del backup, i file di log che non sono più necessari verranno troncati.

Nello stesso tempo, le intestazioni del database verranno aggiornate con le informazioni in cui è stato eseguito l'ultimo backup.

Se la funzione non riesce, non saranno presenti file nella destinazione della directory di backup in modo che non sarà possibile ripristinare. Allo stesso tempo, i file di log correnti non verranno troncati.

Commenti

I diversi passaggi del backup avranno voci del log eventi generate, inclusi i nomi dei file, il troncamento del log e il risultato finale del backup.

I backup incrementali sono possibili solo dopo l'esecuzione di un backup completo. Inoltre, i backup incrementali sono possibili solo se la registrazione circolare è disattivata. È consigliabile che la directory di backup non contenga file diversi da quello usato nel backup o aggiunto da un backup precedente.

La directory di backup deve esistere a meno che il parametro JET_paramCreatePathIfNotExist sia impostato per l'istanza. Per informazioni, vedere Parametri di sistema.

Il backup eseguirà anche una verifica checksum in tutte le pagine del database usate e a partire da Windows Server 2003 nei file di log. Ciò consente di stimare l'integrità del database, anche per le pagine che non vengono lette durante le normali operazioni. Se si verifica un tale danneggiamento, il backup avrà esito negativo.

Durante il backup, il file di log corrente verrà completato e verrà generato un nuovo log. In questo modo, tutti i file di log necessari possono essere copiati, perché il log corrente non sarà più in uso.

È consigliabile che il backup non venga usato per scopi diversi dal backup e dal ripristino a livello di motore. Ciò ridurrà al minimo la possibilità di ottenere errori durante le operazioni di backup e ripristino.

Requisiti

Requisito Valore

Client

Richiede Windows Vista, Windows XP o Windows 2000 Professional.

Server

Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Unicode

Implementato come JetBackupW (Unicode) e JetBackupA (ANSI).

Vedere anche

File del motore di archiviazione estendibile
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
Parametri di sistema