JetComputeStats-Funktion

Gilt für: Windows | Windows Server

JetComputeStats-Funktion

Die JetComputeStats-Funktion führt jeden Index einer Tabelle durch, um die Anzahl der Einträge in einem Index und die Anzahl unterschiedlicher Schlüssel in einem Index genau zu berechnen. Diese Informationen werden zusammen mit der Anzahl der Datenbankseiten, die einem Index zugeordnet sind, und der aktuelle Zeitpunkt der Berechnung in Indexmetadaten in der Datenbank gespeichert. Diese Daten können anschließend mit Informationsvorgängen abgerufen werden.

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

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet werden soll.

tableid

Der Cursor, der für diesen Aufruf verwendet wird. Beschreibt die Tabelle, für die Statistiken berechnet werden sollen.

Rückgabewert

Diese Funktion gibt den JET_ERR-Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da beim instance, der der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen.

Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird.

JET_errRollbackError

Es ist ein Fehler aufgetreten, bei dem dieser Vorgang ein Rollback aller Änderungen erforderte, aber beim Transaktionsrollback selbst ist ein Fehler aufgetreten.

JET_errSessionSharingViolation

Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden.

Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errTermInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird.

Bei Erfolg werden aktuelle Statistiken in den Datenbankkatalogen für die Mit dem angegebenen Cursor beschriebene Tabelle gespeichert.

Bei Einem Fehler werden keine Aktualisierungen jeglicher Art an der Datenbank vorgenommen.

Bemerkungen

Dieser Vorgang kann ressourcenintensiv sein, da jeder Index in einer Tabelle vollständig durchlaufen werden muss. JetGetRecordPosition kann verwendet werden, um eine grobe Schätzung der Anzahl von Einträgen in einem Index zu erhalten, aber es kann nicht allein die Anzahl unterschiedlicher Werte in einem Index schätzen.

Die durch diesen Vorgang berechneten Daten werden veraltet, und die Tabelle wird anschließend aktualisiert.

Updates der von JetComputeStats erstellten Datenbank werden auf faule Weise hergestellt. Dies bedeutet, dass dieser Vorgang keine Protokolllöschung begleitet, und ein Systemabsturz nach einer Rückgabe von JET_errSuccess von JetComputeStats kann weiterhin dazu führen, dass diese Updates verloren gehen.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Weitere Informationen

JET_ERR
JET_TABLEID
JET_SESID
JetGetRecordPosition
JetGetTableInfo
JetGetTableIndexInfo
JetStopService