Share via


Funzione JetInit3

Si applica a: Windows | Windows Server

Funzione JetInit3

La funzione JetInit3 inserisce il motore di database in uno stato in cui può supportare l'uso dell'applicazione dei file di database. Il motore deve essere già configurato correttamente per l'inizializzazione, che viene eseguita usando la funzione JetSetSystemParameter . Si noti che il ripristino di arresto anomalo del database si verifica automaticamente come parte del processo di inizializzazione.

Windows Vista:JetInit3 viene introdotto in Windows Vista.

    JET_ERR JET_API JetInit3(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in_opt      JET_RSTINFO* prstInfo,
      __in          JET_GRBIT grbit
    );

Parametri

pinstance

Istanza usata per una chiamata specifica. L'uso di questo parametro dipende dalla modalità operativa del motore. Se il motore è operativo in modalità legacy (modalità di compatibilità windows 2000), in cui è supportata una sola istanza, è possibile impostare questo parametro su NULL o su un buffer di output valido contenente NULL o JET_instanceNil, che restituisce l'handle dell'istanza globale creato come effetto collaterale dell'inizializzazione. Questo handle di istanza può quindi essere passato a qualsiasi altra API che accetta un'istanza. Se il motore opera in modalità multiistanza, è necessario impostare questo parametro su un buffer di input valido che contiene l'handle di istanza restituito dalla funzione JetCreateInstance inizializzata.

prstInfo

Parametri di ripristino aggiuntivi usati per eseguire il remapping dei database durante il ripristino, per impostare la posizione in cui il ripristino si arresterà o per determinare lo stato di ripristino corrente.

grbit

Gruppo di bit che specifica zero o più delle opzioni elencate e definite nella tabella seguente.

Valore

Significato

JET_bitReplayReplicatedLogFiles

Questo valore è riservato per l'uso futuro.

JET_bitCreateSFSVolumeIfNotExist

Questo valore è riservato per l'uso futuro.

JET_bitReplayIgnoreMissingDB

Questo valore consente all'utente di eseguire il ripristino in un set di file di log, anche in assenza dei database collegati al file di log a un certo punto.

JET_bitRecoveryWithoutUndo

Questo valore consente all'utente di eseguire il ripristino, ma solo fino a (e non incluso) la fase Annulla. Usando questo valore, è possibile copiare e applicare altri log delle transazioni.

JET_bitTruncateLogsAfterRecovery

Questo valore causa il troncamento dei file di log durante un ripristino temporanea riuscito.

JET_bitReplayMissingMapEntryDB

Questo valore causa una voce della mappa del database mancante per impostazione predefinita nella stessa posizione.

JET_bitReplayIgnoreLostLogs

Questo valore causa la perdita dei log dalla fine del flusso di log da ignorare durante un ripristino.

Windows 7:JET_bitReplayIgnoreLostLogs viene introdotto in Windows 7.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sugli eventuali errori di Estendibilità del motore di archiviazione (ESE), vedere Errori del motore di archiviazione estendibili e parametri di gestione degli errori.

Commenti

Un'istanza deve essere inizializzata con una chiamata alla funzione JetInit3 prima che possa essere usata da qualsiasi elemento diverso dalla funzione JetSetSystemParameter .

Un'istanza viene eliminata da una chiamata alla funzione JetTerm , anche se tale istanza non è mai stata inizializzata usando la funzione JetInit . Un'istanza è l'unità di ripristinabilità per il motore di database. Controlla il ciclo di vita di tutti i file usati per proteggere l'integrità dei dati in un set di file di database. Questi file includono il file di checkpoint e i file di log delle transazioni. Si noti che JetTerm non deve essere chiamato se la funzione JetInit3 ha esito negativo. Tuttavia, JetTerm deve comunque essere chiamato per tutte le istanze create da JetCreateInstance2 se JetInit3 non è mai stato chiamato o se JetInit3 ha esito positivo.

Se il ripristino è in esecuzione in un set di log per cui non tutti i database correlati sono presenti (che restituirà l'errore JET_errAttachedDatabaseMismatch in circostanze normali) e il client vuole continuare il ripristino nonostante i database mancanti, l'errore di JET_bitReplayIgnoreMissingDB viene usato per continuare il ripristino per i database disponibili.

Poiché il ripristino di arresto anomalo non si verifica in genere nello stesso computer (e con la stessa configurazione) al momento dell'arresto anomalo, in genere un database non cambia posizione. In alcuni scenari, ad esempio lo spostamento di file in un computer diverso o il ripristino del backup snapshot in posizioni diverse, questo non è più vero. La funzione JetInit3 consente di specificare un mapping (usando le strutture JET_RSTINFO e JET_RSTMAP ) tra la posizione precedente del database e la nuova posizione. Infatti, è necessario solo il nuovo percorso purché i file di database siano presenti in tale posizione. Non appena si conoscono i percorsi dei database ripristinati, verrà usata la firma del database per identificare il database tramite il processo di ripristino. È necessario il percorso del database originale solo se è necessario ricreare un database, in questo caso la firma è nota.

Inoltre, se è necessario arrestare un ripristino dopo un'operazione Di annullamento, è possibile specificare una determinata posizione del log in corrispondenza della quale il ripristino si arresterà. Si noti che include la possibilità di arrestare alla fine di una determinata generazione di log se la posizione specificata fa parte della generazione, ma oltre la fine del log effettivo.

Per altre informazioni, vedere la sezione "Osservazioni" nell'argomento JetInit .

Requisiti

Requisito Valore

Client

Richiede Windows Vista.

Server

Richiede Windows Server 2008.

Intestazione

Dichiarato in Esent.h.

Libreria

Usa ESENT.lib.

DLL

Richiede ESENT.dll.

Unicode

Implementato come JetInit3W (Unicode) e JetInit3A (ANSI).

Vedere anche

File del motore di archiviazione estendibili
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Parametri delle risorse