JetSetDatabaseSize-Funktion

Gilt für: Windows | Windows Server

JetSetDatabaseSize-Funktion

Die JetSetDatabaseSize-Funktion legt die Größe einer ungeöffneten 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

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

szDatabaseName

Gibt den Namen der Datenbankdatei an, 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, ist der Inhalt von pcpgReal nicht definiert.

Rückgabewert

Diese Funktion gibt den Datentyp JET_ERR 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_errDatabaseInconsistent
JET_errDatabaseDirtyShutdown

JET_errDatabaseInconsistent und JET_errDatabaseDirtyShutdown sind derselbe numerische Wert. Die Datenbank, deren Größe angepasst werden soll, muss sich in einem sauber Herunterfahren befinden, der als konsistenter Zustand bezeichnet wird. Eine inkonsistente Datenbank ist nicht beschädigt, erfordert jedoch die Wiedergabe von Protokolldateien.

JET_errDatabaseInvalidPath

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

JET_errDiskFull

Auf dem Volume ist nicht genügend freier Speicherplatz vorhanden, um den Vergrößerungsvorgang auszuführen. JetSetDatabaseSize kann auch viele dateibezogene Fehler zurückgeben, einschließlich, aber nicht beschränkt auf:

  • JET_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • JET_errFileAccessDenied

  • JET_errOutOfFileHandles

JET_errInvalidParameter

Dieser Fehler kann u. U. zurückgegeben werden, wenn cpg die Mindestdatenbankgröße erfüllt. Die aktuelle Mindestgröße der Datenbank beträgt 256 Seiten.

JET_errOutOfMemory

Das System verfügt über wenig Arbeitsspeicherressourcen.

Bemerkungen

Wenn JetSetDatabaseSize vor dem Einfügen großer Datenmengen aufgerufen wird, wird die Datenbankdatei in einem Vorgang vergrößert. Dies verringert die Wahrscheinlichkeit, dass die Datenbankdatei auf Dateisystemebene fragmentiert wird, und verringert auch die Anzahl der Anwachsens der Datenbankdatei. Das einmalige Vergrößern der Datenbankdatei kann schneller sein, als sie mehrmals zu vergrößern.

Derzeit wird nur das Vergrößern der Datei unterstützt. Um eine Datei zu verkleinern, verwenden Sie die Defragmentierungsfunktion des esentutl.exe Hilfsprogramm.

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

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

Die Dateigröße entspricht möglicherweise nicht der Anzahl der in pcpgReal zurückgegebenen Seiten. Es gibt zwei zusätzliche reservierte Seiten, die in pcpgReal möglicherweise nicht 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.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetSetDatabaseSizeW (Unicode) und JetSetDatabaseSizeA (ANSI).

Weitere Informationen

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase