JetSetDatabaseSize-Funktion

Gilt für: Windows | Windows Server

JetSetDatabaseSize-Funktion

Die JetSetDatabaseSize-Funktion legt die Größe einer nicht öffnenden Datenbankdatei fest.

    JET_ERR JET_API JetSetDatabaseSize(
      __in          JET_SESID sesid,
      __in          JET_PCSTR szDatabaseName,
      __in          unsigned long cpg,
      __out         unsigned long* pcpgReal
    );

Parameter

sesid

Identifiziert den Datenbanksitzungskontext, der für den API-Aufruf verwendet werden soll.

szDatabaseName

Identifiziert den Namen der Datenbankdatei, deren Größe geändert werden soll.

Cpg

Gibt die gewünschte Größe der Datenbank in Seiten an.

pcpgReal

Zeiger auf eine Zahl, die die Größe der Datenbank in Seiten nach dem API-Aufruf empfängt. Wenn der API-Aufruf nicht erfolgreich war, sind die Inhalte von pcpgReal nicht definiert.

Rückgabewert

Diese Funktion gibt den JET_ERR datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errDatabaseInconsistent
JET_errDatabaseDirtyShutdown

JET_errDatabaseInconsistent und JET_errDatabaseDirtyShutdown sind derselbe numerische Wert. Die Datenbank, deren Größe angepasst werden soll, muss sich in einem sauberen Herunterfahren (als konsistenter Zustand bezeichnet) befindet. Eine inkonsistente Datenbank ist nicht beschädigt, erfordert jedoch, dass Protokolldateien wiedergegeben werden.

JET_errDatabaseInvalidPath

szDatabaseName darf keine leere Zeichenfolge sein, die nicht NULL ist.

JET_errDiskFull

Es ist nicht genügend freier Speicherplatz auf dem Volume zum Ausführen des Verwächste-Vorgangs zur Verfügung. JetSetDatabaseSize gibt möglicherweise auch viele dateibezogene Fehler zurück, einschließlich, aber nicht beschränkt auf:

  • JET_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • JET_errFileAccessDenied

  • JET_errOutOfFileHandles

JET_errInvalidParameter

Dieser Fehler kann unter anderem zurückgegeben werden, wenn cpg die Mindestgröße der Datenbank erfüllt. Die aktuelle minimale Datenbankgröße beträgt 256 Seiten.

JET_errOutOfMemory

Das System ist nicht genügend Arbeitsspeicherressourcen.

Bemerkungen

Wenn JetSetDatabaseSize aufgerufen wird, bevor große Datenmengen eingefügt werden, wird die Datenbankdatei in einem Vorgang größer. Dies verringert die Wahrscheinlichkeit, dass die Datenbankdatei auf Dateisystemebene fragmentiert wird, und verringert auch die Anzahl, mit der die Datenbankdatei wachsen muss. Das once-Anwachsen der Datenbankdatei kann schneller sein, als sie mehrmals zu wachsen.

Derzeit wird nur das Anwachsen der Datei unterstützt. Um eine Datei zu verkleinern, verwenden Sie die Defragmentierungsfunktion esentutl.exe Hilfsprogramm.

Wenn cpg kleiner als die aktuelle Größe der Datenbank ist, wird der Vorgang ignoriert. Wenn cpg kleiner als die minimale Datenbankgröße (derzeit 256 Seiten) ist, wird JET_errInvalidParameter.

Informationen zum Festlegen der Größe einer geöffneten Datenbank finden Sie unter JetGrowDatabase.

Die Dateigröße kann nicht mit der Anzahl der seiten übereinstimmen, die in pcpgReal zurückgegeben werden. Es gibt zwei zusätzliche reservierte Seiten, die möglicherweise nicht in pcpgReal gezählt werden.

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.

Header

Wird in Esent.h deklariert.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Wird als JetSetDatabaseSizeW (Unicode) und JetSetDatabaseSizeA (ANSI) implementiert.

Weitere Informationen

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase