JetComputeStats fonction)

S’applique à : Windows | Windows Serveurs

JetComputeStats fonction)

La fonction JetComputeStats parcourt chaque index d’une table pour calculer exactement le nombre d’entrées dans un index et le nombre de clés distinctes dans un index. Ces informations, ainsi que le nombre de pages de base de données allouées pour un index et l’heure actuelle du calcul, sont stockées dans les métadonnées d’index dans la base de données. Ces données peuvent être récupérées par la suite avec les opérations d’informations.

    JET_ERR JET_API JetComputeStats(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid
    );

Paramètres

sesid

Session à utiliser pour cet appel.

TableID

Curseur qui sera utilisé pour cet appel. Décrit la table sur laquelle calculer les statistiques.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. pour plus d’informations sur les erreurs ESE possibles, consultez erreurs du moteur de Stockage Extensible et paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

JET_errClientRequestToStopJetService

Il n’est pas possible de terminer l’opération, car toute activité sur l’instance associée à la session a été interrompue suite à un appel à JetStopService.

JET_errInstanceUnavailable

Il n’est pas possible de terminer l’opération, car l’instance associée à la session a rencontré une erreur irrécupérable qui requiert que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données.

cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures.

JET_errNotInitialized

Impossible de terminer l’opération, car l’instance associée à la session n’a pas encore été initialisée.

JET_errRestoreInProgress

Il n’est pas possible de terminer l’opération, car une opération de restauration est en cours sur l’instance associée à la session.

JET_errRollbackError

Une erreur s’est produite lors de l’annulation de l’opération de restauration de toutes les modifications, mais la restauration de la transaction a échoué.

JET_errSessionSharingViolation

La même session ne peut pas être utilisée simultanément pour plusieurs threads.

cette erreur est renvoyée uniquement par Windows XP et les versions ultérieures.

JET_errTermInProgress

Il n’est pas possible de terminer l’opération, car l’instance associée à la session est en cours d’arrêt.

En cas de réussite, les statistiques à jour sont stockées dans les catalogues de base de données pour la table décrite avec le curseur donné.

En cas d’échec, aucune mise à jour de n’importe quel type n’est effectuée dans la base de données.

Remarques

Cette opération peut consommer des ressources puisque chaque index d’une table doit être parcouru dans son intégralité. JetGetRecordPosition peut être utilisé pour obtenir une estimation approximative du nombre d’entrées dans un index, mais il ne peut pas estimer lui-même le nombre de valeurs distinctes dans un index.

Les données calculées par cette opération commencent à devenir obsolètes et la table est mise à jour par la suite.

Les mises à jour apportées à la base de données par JetComputeStats sont effectuées de manière différée. Cela signifie qu’aucun vidage du journal n’est accompagné de cette opération et qu’un incident système se produit suite à un retour de JET_errSuccess par JetComputeStats peut toujours entraîner la perte de ces mises à jour.

Configuration requise

Condition requise Valeur

Client

requiert Windows Vista, Windows XP ou Windows 2000 Professional.

Serveur

nécessite Windows server 2008, Windows server 2003 ou Windows 2000 server.

En-tête

Déclaré dans esent. h.

Bibliothèque

Utilisez ESENT. lib.

DLL

Requiert ESENT.dll.

Voir aussi

JET_ERR
JET_TABLEID
JET_SESID
JetGetRecordPosition
JetGetTableInfo
JetGetTableIndexInfo
JetStopService