Funzione JetSetDatabaseSize

Si applica a: Windows | Windows Server

Funzione JetSetDatabaseSize

La funzione JetSetDatabaseSize imposta le dimensioni di un file di database non aperto.

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

Parametri

sesid

Identifica il contesto della sessione di database da usare per la chiamata API.

szDatabaseName

Identifica il nome del file di database le cui dimensioni devono essere modificate.

Cpg

Specifica le dimensioni desiderate del database, nelle pagine.

pcpgReal

Puntatore a un numero che riceve le dimensioni del database, nelle pagine, dopo la chiamata API. Se la chiamata API ha avuto esito negativo, il contenuto di pcpgReal non è definito.

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_errDatabaseInconsistent
JET_errDatabaseDirtyShutdown

JET_errDatabaseInconsistent e JET_errDatabaseDirtyShutdown sono lo stesso valore numerico. Il database le cui dimensioni devono essere modificate deve essere in un arresto pulito, noto come stato coerente. Un database incoerente non è danneggiato, ma richiede la riproduzione dei file di log.

JET_errDatabaseInvalidPath

szDatabaseName non deve essere una stringa vuota e non NULL.

JET_errDiskFull

Spazio disponibile insufficiente nel volume per eseguire l'operazione di aumento. JetSetDatabaseSize può anche restituire molti errori correlati ai file, tra cui, a titolo esemplificativo:

  • JET_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • JET_errFileAccessDenied

  • JET_errOutOfFileHandles

JET_errInvalidParameter

Uno dei motivi per cui questo errore può essere restituito è se cpg soddisfa le dimensioni minime del database. Le dimensioni minime correnti del database sono 256 pagine.

JET_errOutOfMemory

Il sistema è insufficiente nelle risorse di memoria.

Commenti

Se JetSetDatabaseSize viene chiamato prima di inserire grandi quantità di dati, il file di database verrà cresciuto in un'unica operazione. Ciò ridurrà la probabilità che il file di database diventi frammentato a livello di file system e ridurrà anche il numero di volte in cui il file di database deve essere aumentato. La crescita del file di database può essere più veloce rispetto alla crescita più volte.

Attualmente è supportato solo l'aumento del file. Per compattare un file, usare la funzionalità di deframmentazione del programma di utilità esentutl.exe.

Se cpg è inferiore alle dimensioni correnti del database, l'operazione verrà ignorata. Se cpg è inferiore alla dimensione minima del database (attualmente 256 pagine), restituirà JET_errInvalidParameter.

Per impostare le dimensioni di un database aperto, vedere JetGrowDatabase.

Le dimensioni del file potrebbero non corrispondere al numero di pagine restituite in pcpgReal. Esistono due pagine riservate aggiuntive che potrebbero non essere conteggiate in pcpgReal.

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.

Unicode

Implementato come JetSetDatabaseSizeW (Unicode) e JetSetDatabaseSizeA (ANSI).

Vedere anche

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase