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_errDatabaseDirtyShutdown

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_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • JET_errFileAccessDenied

  • JET_errOutOfFileHandles

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