Función JetSetDatabaseSize
Se aplica a: Windows | Windows Server
Función JetSetDatabaseSize
La función JetSetDatabaseSize establece el tamaño de un archivo de base de datos sin abrir.
JET_ERR JET_API JetSetDatabaseSize(
__in JET_SESID sesid,
__in JET_PCSTR szDatabaseName,
__in unsigned long cpg,
__out unsigned long* pcpgReal
);
Parámetros
sesid
Identifica el contexto de sesión de base de datos que se va a usar para la llamada API.
szDatabaseName
Identifica el nombre del archivo de base de datos cuyo tamaño se va a modificar.
Cpg
Especifica el tamaño deseado de la base de datos, en páginas.
pcpgReal
Puntero a un número que recibe el tamaño de la base de datos, en páginas, después de la llamada API. Si la llamada API no se realizó correctamente, el contenido de pcpgReal no está definido.
Valor devuelto
Esta función devuelve el JET_ERR tipo de datos con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.
Código devuelto |
Descripción |
---|---|
JET_errSuccess |
La operación se ha completado correctamente. |
JET_errDatabaseInconsistent |
JET_errDatabaseInconsistent y JET_errDatabaseDirtyShutdown son el mismo valor numérico. La base de datos cuyo tamaño se va a ajustar debe estar en un apagado limpio, conocido como estado coherente. Una base de datos incoherente no está dañada, pero requiere que se reproduzcan los archivos de registro. |
JET_errDatabaseInvalidPath |
szDatabaseName no debe ser una cadena vacía que no sea NULL. |
JET_errDiskFull |
No hay suficiente espacio libre en el volumen para realizar la operación de crecimiento. JetSetDatabaseSize también puede devolver muchos errores relacionados con archivos, incluidos, entre otros:
|
JET_errInvalidParameter |
Una de las razones por las que se puede devolver este error es si cpg cumple el tamaño mínimo de la base de datos. El tamaño mínimo actual de la base de datos es de 256 páginas. |
JET_errOutOfMemory |
El sistema tiene pocos recursos de memoria. |
Observaciones
Si se llama a JetSetDatabaseSize antes de insertar grandes cantidades de datos, el archivo de base de datos se aumentará en una operación. Esto reducirá la probabilidad de que el archivo de base de datos se fragmente en el nivel de sistema de archivos y también reduzca el número de veces que se debe crecer el archivo de base de datos. Aumentar el archivo de base de datos una vez puede ser más rápido que crecer varias veces.
Actualmente solo se admite el crecimiento del archivo. Para reducir un archivo, use la característica de desfragmentación del programa de utilidad esentutl.exe.
Si cpg es menor que el tamaño actual de la base de datos, se omitirá la operación. Si cpg es menor que el tamaño mínimo de la base de datos (actualmente 256 páginas), devolverá JET_errInvalidParameter.
Para establecer el tamaño de una base de datos que se abre, consulte JetGrowDatabase.
Es posible que el tamaño del archivo no coincida con el número de páginas devueltas en pcpgReal. Hay dos páginas reservadas adicionales que pueden no contarse en pcpgReal.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Unicode |
Se implementa como JetSetDatabaseSizeW (Unicode) y JetSetDatabaseSizeA (ANSI). |
Consulte también
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase