Partilhar via


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