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