Funzione JetTerm2

Si applica a: Windows | Windows Server

Funzione JetTerm2

La funzione JetTerm2 avvia l'arresto di un'istanza inizializzata da JetInit.

JetTerm2 può anche distruggere un'istanza non inizializzata creata da JetCreateInstance.

    JET_ERR JET_API JetTerm2(
      __in          JET_INSTANCE instance,
      __in          JET_GRBIT grbit
    );

Parametri

Istanza

Istanza da usare per questa chiamata.

Windows 2000: Questo parametro viene ignorato e deve sempre essere NULL.

Windows XP e versioni successive: Questo parametro è in overload. Se il motore è operativo in modalità legacy (modalità di compatibilità windows 2000) in cui è supportata una sola istanza, questo parametro potrebbe essere NULL o potrebbe contenere l'istanza effettiva restituita da JetInit. Se il motore è operativo in modalità multiistanza, questo parametro deve essere un puntatore a un'istanza creata usando JetCreateInstance.

grbit

Gruppo di bit che contengono le opzioni da usare per questa chiamata, che includono zero o più dei valori seguenti.

Valore

Significato

JET_bitTermComplete

Richiede che l'istanza venga arrestata in modo pulito. Tutte le operazioni di pulizia facoltative che normalmente verranno eseguite in background in background vengono completate immediatamente.

JET_bitTermAbrupt

Richiede che l'istanza venga arrestata il più rapidamente possibile. Qualsiasi lavoro facoltativo che normalmente verrà eseguito in background in fase di esecuzione viene abbandonato.

Nota Questa opzione può causare una perdita di spazio temporanea o permanente nel database. Questo spazio perso può sempre essere recuperato tramite una deframmentazione offline del database.

JET_bitTermStopBackup

Richiede che l'istanza venga arrestata anche se è in corso un backup. In genere, un backup in sospeso causerà l'esito negativo di JetTerm con JET_errBackupInProgress. Quando questo parametro non è presente, il relativo valore viene presunto essere JET_bitTermAbrupt.

JET_bitTermDirty

Richiede che l'istanza venga arrestata con tutti i database collegati lasciati in uno stato sporco.

Windows 7: JET_bitTermDirty è stato 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 errori ESE possibili, vedere Errori del motore di archiviazione estendibili e parametri di gestione degli errori.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errBackupInProgress

L'operazione non può essere completata perché un'operazione di backup è in corso nell'istanza.

JET_errInvalidParameter

Uno dei parametri forniti contiene un valore imprevisto o la combinazione di diversi parametri ha restituito un risultato imprevisto. Questo errore verrà restituito da JetTerm quando il motore è in modalità multiistanza e quando pinstance fa riferimento a un'istanza non valida.

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

JET_errNotInitialized

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

JET_errTermInProgress

Impossibile completare l'operazione perché l'istanza viene arrestata.

JET_errRestoreInProgress

Non è possibile completare l'operazione perché un'operazione di ripristino è in corso nell'istanza.

JET_errTooManyActiveUsers

Impossibile arrestare l'istanza perché sono attualmente presenti sessioni con transazioni attive per l'istanza specificata. Questo errore si verifica solo se viene usato il JET_bitTermComplete.

Se questa funzione ha esito positivo, l'istanza specificata verrà arrestata. L'handle dell'istanza verrà chiuso e reso non disponibile per qualsiasi API che accetta un handle di istanza. Tutti gli altri oggetti associati all'istanza, ad esempio sessioni, verranno chiusi. Lo stato del file di checkpoint, i file di log delle transazioni e i file di database collegati all'istanza verranno modificati durante il processo di arresto.

Se questa funzione non riesce a causa di un errore di utilizzo, l'istanza rimane in uno stato inizializzato e non cambia nulla. In caso contrario, l'istanza è ancora arrestata come indicato per il caso di esito positivo. La differenza è che l'istanza dovrà passare attraverso il ripristino di arresto anomalo quando viene inizializzata successivamente. Il motore tenterà di scaricare il maggior numero possibile di dati per ridurre al minimo la quantità di ripristino necessaria. Concettualmente, tale errore di JetTerm non è diverso da un arresto anomalo del processo.

Commenti

Vedere JetTerm.

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.

Vedere anche

File del motore di archiviazione estendibili
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm