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_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_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