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