Compartilhar via


Função JetBackup

Aplica-se a: Windows | Windows Server

Função JetBackup

A função JetBackup cria um backup do banco de dados enquanto o banco de dados está online. Essa função é principalmente para compatibilidade com versões anteriores com o Windows 2000 e mecanismos de banco de dados anteriores, em que apenas uma instância de um banco de dados é permitida. Nesse caso, a instância ativa é a instância com backup.

    JET_ERR JET_API JetBackup(
      __in          JET_PCSTR szBackupPath,
      __in          JET_GRBIT grbit,
      __in          JET_PFNSTATUS pfnStatus
    );

Parâmetros

szBackupPath

O diretório em que o backup é armazenado. Se o caminho de backup for NULL, a função truncará os logs, se possível.

grbit

Um grupo de bits que especifica zero ou mais das opções a seguir.

Valor

Significado

JET_bitBackupAtomic

Cria um backup completo do banco de dados. Isso permite a preservação de um backup existente no mesmo diretório se o novo backup falhar.

JET_bitBackupIncremental

Cria um backup incremental em vez de um backup completo. Isso significa que somente os arquivos de log desde o último backup completo ou incremental serão copiados em backup.

pfnStatus

Ponteiro para a função de retorno de chamada JET_PFNSTATUS , que fornece informações de notificação sobre o progresso da operação de backup.

Valor Retornado

A função retorna um dos códigos de erro JET_ERR . A seguir estão os retornados com mais frequência. (Para obter uma lista completa de erros para essa API, consulte Códigos de erro extensíveis do mecanismo de armazenamento.)

Código de retorno

Descrição

JET_errSuccess

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

JET_errBackupInProgress

Um backup já está em andamento para a mesma instância. Vários backups não são permitidos ao mesmo tempo.

JET_errBackupNotAllowedYet

A instância ainda não está pronta para backup, pois está inicializando.

JET_errClientRequestToStopJetService

A operação não pode ser concluída porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService.

JET_errInstanceUnavailable

A operação não pode ser concluída porque a instância associada à sessão encontrou um erro fatal que exige que o acesso a todos os dados seja revogado para proteger a integridade desses dados.

Windows XP: Esse valor retornado é introduzido no Windows XP.

JET_errInvalidBackup

Um backup incremental não será permitido se o log circular estiver ativado.

JET_errInvalidGrbit

As opções especificadas são inválidas.

JET_errInvalidParameter

Um parâmetro inválido foi passado para a API.

JET_errInvalidPath

O caminho de destino não existe.

JET_errLoggingDisabled

A instância está em execução sem registro em log. Nenhum backup é permitido.

JET_errLogReadVerifyFailure

Houve um erro de verificação de soma de verificação em um arquivo de log.

JET_errLogWriteFail

O registro em log da instância é temporário ou permanentemente desabilitado devido a um erro inesperado.

JET_errNotInitialized

A operação não pode ser concluída porque a instância associada à sessão ainda não foi inicializada.

JET_errReadVerifyFailure

Houve um erro de verificação de soma de verificação em uma página de banco de dados.

JET_errRestoreInProgress

A operação não pode ser concluída porque uma operação de restauração está em andamento na instância associada à sessão.

JET_errSessionSharingViolation

A mesma sessão não pode ser usada para mais de um thread ao mesmo tempo.

Windows XP: Esse valor retornado é introduzido no Windows XP.

JET_errTermInProgress

A operação não pode ser concluída porque a instância associada à sessão está sendo desligada.

Se a função for bem-sucedida, todos os arquivos necessários para uma restauração até o momento do backup serão contidos no diretório de backup. Se esse for um backup completo, os arquivos serão os arquivos de banco de dados e os arquivos de log necessários para levar o banco de dados a um estado consistente. Se esse for um backup incremental, somente os arquivos de log serão adicionados aos diretórios, mas os arquivos já existentes (bancos de dados e arquivos de log), juntamente com os novos arquivos de log, poderão ser restaurados para trazer o banco de dados de volta ao estado em que estava no momento em que o backup começou.

Como efeito colateral do backup, os arquivos de log que não são mais necessários serão truncados.

Ao mesmo tempo, os cabeçalhos de banco de dados serão atualizados com as informações quando o último backup ocorreu.

Se a função falhar, não haverá nenhum arquivo no destino do diretório de backup para que nenhuma restauração seja possível. Ao mesmo tempo, os arquivos de log atuais não serão truncados.

Comentários

As diferentes etapas do backup terão entradas do Log de Eventos geradas, incluindo os nomes de arquivo, o truncamento de log e o resultado final do backup.

Backups incrementais só são possíveis depois que um backup completo foi feito. Além disso, backups incrementais só serão possíveis se o log circular estiver desativado. É recomendável que o diretório de backup não contenha nenhum arquivo diferente daquele usado no backup ou adicionado por um backup anteriormente bem-sucedido.

O diretório de backup deve existir, a menos que o parâmetro JET_paramCreatePathIfNotExist esteja definido para a instância. Para obter informações, consulte Parâmetros do sistema.

O backup fará uma verificação de soma de verificação em todas as páginas de banco de dados usadas e a partir do Windows Server 2003, também nos arquivos de log. Isso dá a oportunidade de estimar a integridade do banco de dados, mesmo para páginas que não são lidas durante operações normais. Se essa corrupção for encontrada, o backup falhará.

Durante o backup, o arquivo de log atual será concluído e um novo log será gerado. Dessa forma, todos os arquivos de log necessários podem ser cópias, pois o log atual não estará mais em uso.

É altamente recomendável que o backup não seja usado para nenhuma finalidade diferente do backup e restauração no nível do mecanismo. Isso minimizará a chance de receber erros durante as operações de backup e restauração.

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 JetBackupW (Unicode) e JetBackupA (ANSI).

Consulte Também

Arquivos extensíveis do mecanismo de armazenamento
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopService
Parâmetros do sistema