Función JetInit3

Se aplica a: Windows | Windows Server

Función JetInit3

La función JetInit3 coloca el motor de base de datos en un estado en el que puede admitir el uso de aplicaciones de archivos de base de datos. El motor ya debe estar configurado correctamente para la inicialización, que se realiza mediante la función JetSetSystemParameter . Tenga en cuenta que la recuperación de bloqueos de base de datos se produce automáticamente como parte del proceso de inicialización.

Windows Vista:JetInit3 se presenta en 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

Instancia que se usa para una llamada determinada. El uso de este parámetro depende del modo de funcionamiento del motor. Si el motor funciona en modo heredado (modo de compatibilidad de Windows 2000), en el que solo se admite una instancia, puede establecer este parámetro en NULL o en un búfer de salida válido que contenga NULL o JET_instanceNil, que devuelve el identificador de instancia global creado como efecto secundario de la inicialización. A continuación, este identificador de instancia se puede pasar a cualquier otra API que tome una instancia. Si el motor funciona en modo de varias instancias, debe establecer este parámetro en un búfer de entrada válido que contenga el identificador de instancia devuelto por la función JetCreateInstance que se está inicializando.

prstInfo

Parámetros de recuperación adicionales usados para reasignar bases de datos durante la recuperación, para establecer la posición donde se detendrá la recuperación o para determinar el estado de recuperación actual.

grbit

Grupo de bits que especifica cero o más de las opciones enumeradas y definidas en la tabla siguiente.

Valor

Significado

JET_bitReplayReplicatedLogFiles

Este valor está reservado para uso futuro.

JET_bitCreateSFSVolumeIfNotExist

Este valor está reservado para uso futuro.

JET_bitReplayIgnoreMissingDB

Este valor permite al usuario ejecutar la recuperación en un conjunto de archivos de registro, incluso en ausencia de las bases de datos asociadas al conjunto de archivos de registro en algún momento.

JET_bitRecoveryWithoutUndo

Este valor permite al usuario realizar la recuperación, pero solo hasta (y no incluye) la fase Deshacer. Con este valor, se pueden copiar y aplicar registros de transacciones adicionales.

JET_bitTruncateLogsAfterRecovery

Este valor hace que los archivos de registro se truncan durante una recuperación temporal correcta.

JET_bitReplayMissingMapEntryDB

Este valor hace que una entrada de mapa de base de datos que falte de forma predeterminada sea la misma ubicación.

JET_bitReplayIgnoreLostLogs

Este valor hace que los registros perdidos del final de la secuencia de registro se omitan durante una recuperación.

Windows 7:JET_bitReplayIgnoreLostLogs se introduce en Windows 7.

Valor devuelto

Esta función devuelve el tipo de datos JET_ERR con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores del motor de almacenamiento extensible (ESE), vea Extensible Storage Engine Errors and Error Handling Parameters(Parámetros de control de errores).

Observaciones

Una instancia debe inicializarse con una llamada a la función JetInit3 antes de que pueda usarla cualquier cosa que no sea la función JetSetSystemParameter .

Una instancia se destruye mediante una llamada a la función JetTerm , incluso si esa instancia nunca se inicializó mediante la función JetInit . Una instancia es la unidad de capacidad de recuperación para el motor de base de datos. Controla el ciclo de vida de todos los archivos usados para proteger la integridad de los datos en un conjunto de archivos de base de datos. Estos archivos incluyen el archivo de punto de comprobación y los archivos de registro de transacciones. Tenga en cuenta que no se debe llamar a JetTerm si se produce un error en la función JetInit3 . Sin embargo, se debe llamar a JetTerm para todas las instancias creadas por JetCreateInstance2 si JetInit3 nunca se llamó a o si JetInit3 se realiza correctamente.

Si la recuperación se ejecuta en un conjunto de registros para los que no todas las bases de datos relacionadas están presentes (lo que devolverá el error JET_errAttachedDatabaseMismatch en circunstancias normales) y el cliente quiere que la recuperación continúe a pesar de las bases de datos que faltan, el error JET_bitReplayIgnoreMissingDB se usa para continuar la recuperación de las bases de datos disponibles.

Dado que la recuperación de bloqueos no suele ocurrir en la misma máquina (y con la misma configuración) que en el momento del bloqueo, una base de datos normalmente no cambia la ubicación. En determinados escenarios, como mover archivos a otra máquina o restaurar la copia de seguridad de instantáneas en diferentes ubicaciones, ya no se cumple. La función JetInit3 permite especificar una asignación (mediante las estructuras JET_RSTINFO y JET_RSTMAP ) entre la ubicación de la base de datos antigua y su nueva ubicación. De hecho, solo necesita la nueva ubicación siempre que los archivos de base de datos estén presentes en esa ubicación. En cuanto conozca las ubicaciones de las bases de datos restauradas, la firma de la base de datos se usará para identificar la base de datos a través del proceso de restauración. Solo necesitará la ubicación de la base de datos original si necesita volver a crear una base de datos, en cuyo caso se conoce la firma.

Además, si necesita detener una recuperación después de una operación deshacer, puede especificar una posición de registro determinada en la que se detendrá la recuperación. Tenga en cuenta que esto incluye la capacidad de detenerse al final de una generación de registros determinada si la posición especificada forma parte de la generación, pero más allá del final del registro real.

Para obtener más información, vea la sección "Comentarios" del tema JetInit .

Requisitos

Requisito Value

Remoto

Requiere Windows Vista.

Servidor

Requiere Windows Server 2008.

Encabezado

Declarado en Esent.h.

Biblioteca

Usa ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Unicode

Se implementa como JetInit3W (Unicode) y JetInit3A (ANSI).

Consulte también

Archivos extensibles del motor de almacenamiento
JET_ERR
JET_GRBIT
JET_INSTANCE
JET_RSTINFO
JET_RSTMAP
JetCreateInstance
JetInit
JetInit2
JetSetSystemParameter
Parámetros del recurso