Funzione JetExternalRestore2

Si applica a: Windows | Windows Server

Funzione JetExternalRestore2

La funzione JetExternalRestore2 ripristina un backup esterno eseguito con le API di backup esterne e fornisce checkpoint da usare per le operazioni di registrazione circolare. Questa operazione è nota come ripristino rigido, che è simile ma diverso dal recupero software eseguito dalla funzione JetInit .

Windows XP: JetExternalRestore2 è stato introdotto in Windows XP.

    JET_ERR JET_API JetExternalRestore2(
      __in          JET_PSTR szCheckpointFilePath,
      __in          JET_PSTR szLogPath,
      __in_opt      JET_RSTMAP* rgrstmap,
      __in          long crstfilemap,
      __in          JET_PSTR szBackupLogPath,
      __in_out      JET_LOGINFO* pLogInfo,
      __in_opt      JET_PSTR szTargetInstanceName,
      __in_opt      JET_PSTR szTargetInstanceLogPath,
      __in_opt      JET_PSTR szTargetInstanceCheckpointPath,
      __in          JET_PFNSTATUS pfn
    );

Parametri

szCheckpointFilePath

Percorso del file del checkpoint da usare durante il ripristino se szTargetInstanceCheckpointPath non è specificato o il percorso ha un'istanza attiva o in esecuzione.

szLogPath

Percorso o directory per i log per la fase finale (annullamento) del ripristino ed eventualmente per i log di roll forward. Questo percorso può essere uguale a szBackupLogPath.

rgrstmap

Si tratta di una matrice di strutture JET_RSTMAP . Si tratta di una mappa di percorsi di database vecchi e nuovi o nomi file. Questa operazione viene usata perché i database potrebbero dover essere ripristinati in una posizione diversa dalla posizione da cui è stato eseguito il backup. Nel caso in cui più database siano collegati a un singolo set di registrazione, la mappa di ripristino può specificare un subset dei database da ripristinare.

crstfilemap

Numero di voci nel parametro della matrice rgrstmap .

szBackupLogPath

Percorso della directory in cui vengono ripristinati i file di log. Questi sono i log che sono stati letti durante la sequenza di backup esterna. Questo percorso può essere uguale a szLogPath.

pLogInfo

PLogInfo descrive diversi aspetti dei log di backup per il ripristino, questo parametro consente a JetExternalRestore2 di accettare i parametri genLow e genHigh espliciti che JetExternalRestore2 ha, nonché il nome del log di base, anziché un nome di base di log presunto di "edb".

szTargetInstanceName

Questo parametro è deprecato e non può essere usato nell'applicazione.

szTargetInstanceLogPath

Il percorso dei log di roll forward se il percorso dei log da eseguire il roll forward si trova in un set di registrazione o un'istanza attiva. Questa impostazione non deve essere specificata se l'istanza di destinazione usa la registrazione circolare.

szTargetInstanceCheckpointPath

Percorso del checkpoint durante il ripristino se non è presente alcuna istanza attiva in esecuzione in questa destinazione. Questa impostazione non deve essere specificata se l'istanza di destinazione usa la registrazione circolare.

Pfn

Callback di stato, che segnala lo stato di avanzamento del ripristino.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sui possibili errori ESE, vedere Errori del motore di archiviazione estendibile e parametri di gestione degli errori.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errBadRestoreTargetInstance

L'oggetto szTargetInstanceLogPath specificato non appartiene a un'istanza inizializzata. Questo errore verrà restituito solo in Windows XP e versioni successive.

JET_errDatabaseCorrupted

Indica che il database è danneggiato o un file non riconosciuto.

JET_errEndingRestoreLogTooLow

Questo errore viene restituito se uno per i file di log in szBackupLogPath ha una generazione di log precedente specificata in genHigh o pLogInfo.ulGenHigh.

JET_errFileNotFound

L'operazione non è riuscita perché non è stato possibile aprire il file richiesto perché non è stato trovato nel percorso specificato.

JET_errInvalidParameter

Uno dei parametri forniti conteneva un valore imprevisto o conteneva un valore che non ha senso se combinato con il valore di un altro parametro. Questo problema può verificarsi per JetExternalRestore e così via quando szTargetCheckpointPath e szTargetInstanceLogPath non sono entrambi specificati o non entrambi non specificati. Ovvero, devono corrispondere e devono essere specificati o entrambi non specificati.

JET_errInvalidPath

L'operazione non è riuscita perché non è stato possibile trovare il percorso specificato.

JET_errOutOfMemory

L'operazione non è riuscita perché non è possibile allocare memoria sufficiente per completarla.

JET_errRestoreOfNonBackupDatabase

Questo errore viene restituito se il file di database specificato durante il ripristino non è un database di cui è stato eseguito il backup con backup esterno.

JET_errRunningInOneInstanceMode

Il motore di database non può eseguire il ripristino esterno o il ripristino rigido in modalità a istanza singola. Questo errore verrà restituito solo in Windows XP e versioni successive.

JET_errStartingRestoreLogTooHigh

Questo errore viene restituito se uno dei file di log in szBackupLogPath ha una generazione di log seguente specificata da genLow o pLogInfo.ulGenLow.

In caso di esito positivo, tutti i database di rgrstmap vengono completamente recuperati e in uno stato pulito o coerente. A questo punto il database può essere rimontato in un'istanza esistente.

In caso di errore, il motore non è riuscito a recuperare il database. Il database è in uno stato non valido e per riprovare a ripristinare l'intero database deve essere ripristinato nuovamente. In genere, l'origine di una situazione di questo tipo è il danneggiamento del disco o del log o un altro tipo di gestione errata del log o un set di log non continuo.

Commenti

Vedere JetExternalRestore.

Requisiti

Requisito Valore

Client

Richiede Windows Vista o Windows XP.

Server

Richiede Windows Server 2008 o Windows Server 2003.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Unicode

Implementato come JetExternalRestore2W (Unicode) e JetExternalRestore2A (ANSI).

Vedere anche

JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit