Funzione JetComputeStats
Si applica a: Windows | Windows Server
Funzione JetComputeStats
La funzione JetComputeStats illustra ogni indice di una tabella per calcolare esattamente il numero di voci in un indice e il numero di chiavi distinte in un indice. Queste informazioni, insieme al numero di pagine di database allocate per un indice e all'ora corrente del calcolo vengono archiviate nei metadati dell'indice nel database. Questi dati possono essere recuperati successivamente con le operazioni informative.
JET_ERR JET_API JetComputeStats(
__in JET_SESID sesid,
__in JET_TABLEID tableid
);
Parametri
sesid
Sessione da utilizzare per questa chiamata.
tableid
Cursore che verrà utilizzato per questa chiamata. Descrive la tabella in cui calcolare le statistiche.
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_errClientRequestToStopJetService |
Non è possibile completare l'operazione perché tutte le attività sull'istanza associata alla sessione sono cessate a seguito di una chiamata a JetStopService. |
JET_errInstanceUnavailable |
Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede la revoca dell'accesso a tutti i dati per proteggere l'integrità dei dati. Questo errore verrà restituito solo da Windows XP e versioni successive. |
JET_errNotInitialized |
Non è possibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata. |
JET_errRestoreInProgress |
Non è possibile completare l'operazione perché è in corso un'operazione di ripristino nell'istanza associata alla sessione. |
JET_errRollbackError |
Si è verificato un errore che richiedeva il rollback di tutte le modifiche, ma il rollback della transazione non è riuscito. |
JET_errSessionSharingViolation |
La stessa sessione non può essere usata contemporaneamente per più thread. Questo errore verrà restituito solo da Windows XP e versioni successive. |
JET_errTermInProgress |
Non è possibile completare l'operazione perché l'istanza associata alla sessione viene arrestata. |
In caso di esito positivo, le statistiche aggiornate vengono archiviate nei cataloghi di database per la tabella descritta con il cursore specificato.
In caso di errore, al database non vengono eseguiti aggiornamenti di alcun tipo.
Commenti
Questa operazione può essere di consumo di risorse perché ogni indice in una tabella deve essere sottoposto a procedura dettagliata. JetGetRecordPosition può essere usato per ottenere una stima approssimativa del numero di voci in un indice, ma non può stimare il numero di valori distinti in un indice.
I dati calcolati da questa operazione iniziano a diventare obsoleti e la tabella viene successivamente aggiornata.
Aggiornamenti al database creato da JetComputeStats sono realizzati in modo differita. Ciò significa che nessuna scaricamento del log sarà accompagnata da questa operazione e un arresto anomalo del sistema successivo a un ritorno di JET_errSuccess da JetComputeStats può comunque causare la perdita di questi aggiornamenti.
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
JET_ERR
JET_TABLEID
JET_SESID
JetGetRecordPosition
JetGetTableInfo
JetGetTableIndexInfo
JetStopService