Compartilhar via


Função JetBackupInstance

Aplica-se a: Windows | Windows Server

Função JetBackupInstance

A função JetBackupInstance executa um fluxo de backup de uma instância para um diretório, incluindo todos os bancos de dados anexados. Com vários métodos de backup compatíveis com o mecanismo, essa é a função mais simples e mais encapsulada.

A Windows XP: JetBackupInstance foi introduzida no Windows XP.

    JET_ERR JET_API JetBackupInstance(
      __in          JET_INSTANCE instance,
      __in          JET_PCSTR szBackupPath,
      __in          JET_GRBIT grbit,
      __in          JET_PFNSTATUS pfnStatus
    );

Parâmetros

instância

A instância do banco de dados cujo backup será efetuado.

szBackupPath

O diretório em que o backup é armazenado. Se o uso do caminho de backup for NULL, a função irá 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 será efetuado o backup dos arquivos de log criados desde o último backup completo ou incremental.

JET_bitBackupSnapshot

Reservado para uso futuro.

pfnStatus

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

Valor de retorno

Essa função retorna o tipo de dados JET_ERR com um dos códigos de retorno a seguir. Para obter mais informações sobre os possíveis erros do ESE, confira Erros do Mecanismo de Armazenamento Extensível (ESE) e Parâmetros de Manuseio de Erros.

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. Não são permitidos vários backups ao mesmo tempo.

JET_errBackupNotAllowedYet

A instância ainda não está pronta para o backup porque está sendo inicializada.

JET_errClientRequestToStopJetService

A operação não pôde ser concluída porque toda a atividade na instância associada à sessão cessou como resultado de uma chamada para a JetStopServiceInstance.

JET_errInstanceUnavailable

Não foi possível concluir a operação porque a instância associada à sessão se deparou com um erro fatal, que requer que o acesso a todos os dados seja revogado para proteger a integridade desses dados.

Windows XP: esse valor retornado foi introduzido no Windows XP.

JET_errInvalidBackup

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

JET_errInvalidGrbit

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

JET_errInvalidParameter

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

JET_errInvalidPath

O caminho de destino não existe.

JET_errLoggingDisabled

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

JET_errLogReadVerifyFailure

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

JET_errLogWriteFail

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

JET_errNotInitialized

A operação não pôde 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

Não foi possível concluir a operação 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 foi introduzido no Windows XP.

JET_errTermInProgress

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

Após a função ser concluída com sucesso, todos os arquivos necessários para uma restauração até o momento do backup estarão presentes no diretório de backup. Caso se trate de um backup completo, os arquivos serão os arquivos de banco de dados e os arquivos de log necessários para conduzir o banco de dados a um estado consistente. Caso se trate de 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), junto com os novos arquivos de log, poderão ser restaurados e conduzir o banco de dados de volta ao estado em que estava no momento do backup.

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

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

Em caso de falha, não haverá nenhum arquivo no diretório de destino do backup e, portanto, nenhuma restauração será possível. Ao mesmo tempo, os arquivos de log atuais não serão truncados.

Comentários

Inserções do Log de Eventos serão geradas para as diferentes etapas do backup, incluindo os nomes de arquivo, o truncamento de logs e o resultado final do backup.

O backup incremental só é possível após um backup completo ter sido feito. Além disso, os backups incrementais só serão possíveis se o registro em log circular estiver desativado. É recomendável que o diretório de backup não contenha outros arquivos além do arquivo envolvido no backup ou adicionado por um backup anterior bem-sucedido.

O diretório de backup precisa existir, a não ser que o parâmetro JET_paramCreatePathIfNotExist esteja definido para a instância. Para obter informações, confira Parâmetros do Sistema.

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

Durante o backup, o arquivo de registro em log atual será encerrado e vamos iniciar uma nova geração de log. Isso permitirá copiar os arquivos de log necessários, porque o último arquivo necessário não estará mais em uso.

É altamente recomendável que o backup não seja usado para outra finalidade que não seja o backup e restaurado no nível do mecanismo. Isso irá minimizar as alterações devido à obtenção de erros durante as operações de backup e restauração.

Requisitos

Requisito Valor

Cliente

Requer o Windows Vista ou o Windows XP.

Servidor

Requer o Windows Server 2008 ou o Windows Server 2003.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer o ESENT.dll.

Unicode

Implementado como JetBackupInstanceW (Unicode) e JetBackupInstanceA (ANSI).

Confira também

JET_ERR
JET_GRBIT
JET_INSTANCE
JET_PFNSTATUS
JetRestore
JetRestore2
JetRestoreInstance
JetStopServiceInstance
Parâmetros do sistema