Compartilhar via


Função JetSetDatabaseSize

Aplica-se a: Windows | Windows Server

Função JetSetDatabaseSize

A função JetSetDatabaseSize define o tamanho de um arquivo de banco de dados não aberto.

    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 o contexto de sessão do banco de dados a ser usado para a chamada à API.

szDatabaseName

Identifica o nome do arquivo de banco de dados cujo tamanho deve ser alterado.

Cpg

Especifica o tamanho desejado do banco de dados, em páginas.

pcpgReal

Ponteiro para um número que recebe o tamanho do banco de dados, em páginas, após a chamada à API. Se a chamada à API não tiver sido bem-sucedida, o conteúdo do pcpgReal será indefinido.

Valor Retornado

Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros de ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errSuccess

A operação foi concluída com sucesso.

JET_errDatabaseInconsistent
JET_errDatabaseDirtyShutdown

JET_errDatabaseInconsistent e JET_errDatabaseDirtyShutdown são o mesmo valor numérico. O banco de dados cujo tamanho deve ser ajustado deve estar em um desligamento limpo, conhecido como um estado consistente. Um banco de dados inconsistente não está corrompido, mas requer que os arquivos de log sejam reproduzidos.

JET_errDatabaseInvalidPath

szDatabaseName não deve ser uma cadeia de caracteres vazia e não NULL.

JET_errDiskFull

Não há espaço livre suficiente no volume para executar a operação de crescimento. JetSetDatabaseSize também pode retornar muitos erros relacionados a arquivos, incluindo, mas não se limitando a:

  • JET_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • Jet_errfileaccessdenied

  • JET_errOutOfFileHandles

JET_errInvalidParameter

Um dos motivos pelos quais esse erro pode ser retornado é se o cpg atender ao tamanho mínimo do banco de dados. O tamanho mínimo atual do banco de dados é de 256 páginas.

JET_errOutOfMemory

O sistema tem poucos recursos de memória.

Comentários

Se JetSetDatabaseSize for chamado antes de inserir grandes quantidades de dados, o arquivo de banco de dados será cultivado em uma operação. Isso reduzirá a probabilidade de o arquivo de banco de dados ficar fragmentado no nível do sistema de arquivos e também reduzirá o número de vezes que o arquivo de banco de dados deve ser aumentado. O crescimento do arquivo de banco de dados uma vez pode ser mais rápido do que o crescimento dele várias vezes.

Atualmente, há suporte apenas para o aumento do arquivo. Para reduzir um arquivo, use o recurso de desfragmentação do programa utilitário esentutl.exe.

Se cpg for menor que o tamanho atual do banco de dados, a operação será ignorada. Se cpg for menor que o tamanho mínimo do banco de dados (atualmente 256 páginas), ele retornará JET_errInvalidParameter.

Para definir o tamanho de um banco de dados aberto, consulte JetGrowDatabase.

O tamanho do arquivo pode não corresponder ao número de páginas retornadas no pcpgReal. Há duas páginas reservadas adicionais que podem não ser contadas no pcpgReal.

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Unicode

Implementado como JetSetDatabaseSizeW (Unicode) e JetSetDatabaseSizeA (ANSI).

Consulte Também

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase