Compartilhar via


Função JetInit3

Aplica-se a: Windows | Windows Server

Função JetInit3

A função JetInit3 coloca o mecanismo de banco de dados em um estado no qual ele pode dar suporte ao uso de aplicativos de arquivos de banco de dados. O mecanismo já deve estar configurado corretamente para inicialização, o que você realiza usando a função JetSetSystemParameter . Observe que a recuperação de falha do banco de dados ocorre automaticamente como parte do processo de inicialização.

O Windows Vista:JetInit3 é introduzido no Windows Vista.

    JET_ERR JET_API JetInit3(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in_opt      JET_RSTINFO* prstInfo,
      __in          JET_GRBIT grbit
    );

Parâmetros

pinstance

A instância que você usa para uma chamada específica. O uso desse parâmetro depende do modo operacional do mecanismo. Se o mecanismo estiver operando no modo herdado (modo de compatibilidade do Windows 2000), no qual apenas uma instância tem suporte, você poderá definir esse parâmetro como NULL ou como um buffer de saída válido contendo NULL ou JET_instanceNil, que retorna o identificador de instância global criado como um efeito colateral da inicialização. Esse identificador de instância pode ser passado para qualquer outra API que usa uma instância. Se o mecanismo estiver operando no modo de várias instâncias, você deverá definir esse parâmetro como um buffer de entrada válido que contenha o identificador de instância retornado pela função JetCreateInstance que está sendo inicializada.

prstInfo

Parâmetros de recuperação adicionais usados para remapear bancos de dados durante a recuperação, para definir a posição em que a recuperação será interrompida ou para determinar o status de recuperação atual.

grbit

Um grupo de bits que especifica zero ou mais das opções listadas e definidas na tabela a seguir.

Valor

Significado

JET_bitReplayReplicatedLogFiles

Este valor está reservado para uso futuro.

JET_bitCreateSFSVolumeIfNotExist

Este valor está reservado para uso futuro.

JET_bitReplayIgnoreMissingDB

Esse valor permite que o usuário execute a recuperação em um conjunto de arquivos de log, mesmo na ausência dos bancos de dados que foram anexados ao conjunto de arquivos de log em algum momento.

JET_bitRecoveryWithoutUndo

Esse valor permite que o usuário execute a recuperação, mas somente até (e não incluindo) a fase Desfazer. Usando esse valor, os logs de transações adicionais podem ser copiados e aplicados.

JET_bitTruncateLogsAfterRecovery

Esse valor faz com que os arquivos de log sejam truncados durante uma recuperação reversível bem-sucedida.

JET_bitReplayMissingMapEntryDB

Esse valor faz com que uma entrada de mapa de banco de dados ausente seja padronizada para o mesmo local.

JET_bitReplayIgnoreLostLogs

Esse valor faz com que os logs perdidos do final do fluxo de log sejam ignorados durante uma recuperação.

O Windows 7:JET_bitReplayIgnoreLostLogs é introduzido no Windows 7.

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 (Mecanismo de Armazenamento Extensível), consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Comentários

Uma instância deve ser inicializada com uma chamada para a função JetInit3 antes de ser usada por qualquer outra coisa que não seja a função JetSetSystemParameter .

Uma instância é destruída por uma chamada para a função JetTerm , mesmo que essa instância nunca tenha sido inicializada usando a função JetInit . Uma instância é a unidade de capacidade de recuperação para o mecanismo de banco de dados. Ele controla o ciclo de vida de todos os arquivos usados para proteger a integridade dos dados em um conjunto de arquivos de banco de dados. Esses arquivos incluem o arquivo de ponto de verificação e os arquivos de log de transações. Observe que JetTerm não deve ser chamado se a função JetInit3 falhar. No entanto, JetTerm ainda deverá ser chamado para todas as instâncias criadas por JetCreateInstance2 se JetInit3 nunca tiver sido chamado ou se JetInit3 for bem-sucedido.

Se a recuperação estiver em execução em um conjunto de logs para os quais nem todos os bancos de dados relacionados estão presentes (o que retornará o erro JET_errAttachedDatabaseMismatch em circunstâncias normais) e o cliente quiser que a recuperação continue apesar dos bancos de dados ausentes, o erro JET_bitReplayIgnoreMissingDB será usado para continuar a recuperação dos bancos de dados disponíveis.

Como a recuperação de falha geralmente não ocorre no mesmo computador (e com a mesma configuração) que no momento da falha, um banco de dados normalmente não altera o local. Em determinados cenários, como mover arquivos para um computador diferente ou restaurar instantâneo backup para locais diferentes, isso não é mais verdade. A função JetInit3 permite que você especifique um mapeamento (usando as estruturas JET_RSTINFO e JET_RSTMAP ) entre o local do banco de dados antigo e sua nova localização. Na verdade, você precisa apenas do novo local, desde que os arquivos de banco de dados estejam presentes nesse local. Assim que você souber os locais dos bancos de dados restaurados, a assinatura do banco de dados será usada para identificar o banco de dados por meio do processo de restauração. Você precisará do local do banco de dados original somente se precisar recriar um banco de dados, caso em que a assinatura é conhecida.

Além disso, se você precisar interromper uma recuperação após uma operação desfazer, poderá especificar uma posição de log específica na qual a recuperação será interrompida. Observe que isso inclui a capacidade de parar no final de uma geração de log específica se a posição especificada fizer parte da geração, mas após o final do log real.

Para obter mais informações, consulte a seção "Comentários" no tópico JetInit .

Requisitos

Requisito Valor

Cliente

Requer o Windows Vista.

Servidor

Requer o Windows Server 2008.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Usa ESENT.lib.

DLL

Requer ESENT.dll.

Unicode

Implementado como JetInit3W (Unicode) e JetInit3A (ANSI).

Consulte Também

Arquivos extensíveis do mecanismo de armazenamento
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Parâmetros do recurso