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