Função JetExternalRestore2
Aplica-se a: Windows | Windows Server
Função JetExternalRestore2
A função JetExternalRestore2 restaura um backup externo que foi feito com as APIs de backup externo e fornece pontos de verificação a serem usados para operações de log circulares. Isso é conhecido como recuperação difícil, que é semelhante, mas diferente da recuperação reversível, conforme executado pela função JetInit .
Windows XP: JetExternalRestore2 é introduzido no Windows XP.
JET_ERR JET_API JetExternalRestore2(
__in JET_PSTR szCheckpointFilePath,
__in JET_PSTR szLogPath,
__in_opt JET_RSTMAP* rgrstmap,
__in long crstfilemap,
__in JET_PSTR szBackupLogPath,
__in_out JET_LOGINFO* pLogInfo,
__in_opt JET_PSTR szTargetInstanceName,
__in_opt JET_PSTR szTargetInstanceLogPath,
__in_opt JET_PSTR szTargetInstanceCheckpointPath,
__in JET_PFNSTATUS pfn
);
Parâmetros
szCheckpointFilePath
O caminho para o arquivo de ponto de verificação a ser usado durante a recuperação se szTargetInstanceCheckpointPath não for especificado ou se esse caminho tiver uma instância ativa ou em execução.
szLogPath
O caminho ou diretório para os logs para a fase final (desfazer) da recuperação e, possivelmente, para os logs de roll forward. Esse caminho pode ser o mesmo que o szBackupLogPath.
rgrstmap
Essa é uma matriz de estruturas de JET_RSTMAP . Este é um mapa de caminhos de banco de dados ou nomes de arquivo antigos e novos. Isso é usado porque os bancos de dados podem precisar ser recuperados em um local diferente do local do qual foram copiados. No caso em que vários bancos de dados são anexados a um único conjunto de logs, o mapa de restauração pode especificar um subconjunto dos bancos de dados a serem restaurados.
crstfilemap
O número de entradas no parâmetro de matriz rgrstmap .
szBackupLogPath
O caminho para o diretório em que os arquivos de log são restaurados. Esses são os logs que foram lidos durante a sequência de backup externo. Esse caminho pode ser o mesmo que o szLogPath.
pLogInfo
O pLogInfo descreve vários aspectos dos logs de backup para recuperação, esse parâmetro permite que JetExternalRestore2 use os parâmetros genLow e genHigh explícitos que JetExternalRestore2 tem, bem como o nome de log base, em vez de um nome base de log presumido de "edb".
szTargetInstanceName
Esse parâmetro foi preterido e não pode ser usado em seu aplicativo.
szTargetInstanceLogPath
O caminho para os logs de roll forward se o local dos logs que você deseja encaminhar estiver em um conjunto de logs ativo ou instância. Isso não deve ser especificado se a instância de destino estiver usando o log circular.
szTargetInstanceCheckpointPath
O caminho para o ponto de verificação durante a recuperação se não houver nenhuma instância ativa em execução neste destino. Isso não deve ser especificado se a instância de destino estiver usando o log circular.
pfn
O status retorno de chamada, que relata o progresso da recuperação.
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 do 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_errBadRestoreTargetInstance |
O szTargetInstanceLogPath especificado não pertence a uma instância inicializada. Esse erro só será retornado no Windows XP e posterior. |
JET_errDatabaseCorrupted |
Isso indica que o banco de dados foi corrompido ou um arquivo não reconhecido. |
JET_errEndingRestoreLogTooLow |
Esse erro será retornado se um para os arquivos de log no szBackupLogPath tiver uma geração de log acima especificada em genHigh ou pLogInfo.ulGenHigh. |
JET_errFileNotFound |
A operação falhou porque não pôde abrir o arquivo solicitado porque ele não pôde ser encontrado no caminho especificado. |
JET_errInvalidParameter |
Um dos parâmetros fornecidos continha um valor inesperado ou continha um valor que não fazia sentido quando combinado com o valor de outro parâmetro. Isso pode acontecer para JetExternalRestore e assim por diante quando o szTargetCheckpointPath e o szTargetInstanceLogPath não são especificados ou não são especificados. Ou seja, eles devem corresponder e ser especificados ou não especificados. |
JET_errInvalidPath |
A operação falhou porque o caminho especificado não pôde ser encontrado. |
JET_errOutOfMemory |
A operação falhou porque não foi possível alocar memória suficiente para concluí-la. |
JET_errRestoreOfNonBackupDatabase |
Esse erro será retornado se o arquivo de banco de dados especificado durante a restauração não for um banco de dados com backup externo. |
JET_errRunningInOneInstanceMode |
O mecanismo de banco de dados não pode executar a restauração externa ou a recuperação rígida no modo de instância única. Esse erro só será retornado no Windows XP e posterior. |
JET_errStartingRestoreLogTooHigh |
Esse erro será retornado se um dos arquivos de log no szBackupLogPath tiver uma geração de log abaixo especificada pelo genLow ou pLogInfo.ulGenLow. |
Com êxito, todos os bancos de dados do rgrstmap são completamente recuperados e em um estado limpo ou consistente. Neste ponto, o banco de dados pode ser remontado a uma instância existente.
Em caso de falha, o mecanismo não pôde recuperar o banco de dados. O banco de dados está em um estado inválido e, para tentar novamente a recuperação rígida, todo o banco de dados deve ser restaurado novamente. Normalmente, a origem dessa situação é corrupção de disco ou log, ou alguma outra forma de má gestão de log ou um conjunto de logs não contínuo.
Comentários
Consulte JetExternalRestore.
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 ESENT.dll. |
Unicode |
Implementado como JetExternalRestore2W (Unicode) e JetExternalRestore2A (ANSI). |
Consulte Também
JET_ERR
JET_LOGINFO
JET_PFNSTATUS
JET_RSTMAP
JetBeginExternalBackup
JetExternalRestore
JetInit