Función JetRestore
Se aplica a: Windows | Windows Server
Función JetRestore
La función JetRestore restaura y recupera una copia de seguridad de streaming de una instancia, incluidas todas las bases de datos adjuntas. Esta función es principalmente para la compatibilidad con versiones anteriores con los motores de base de datos de Windows 2000 y anteriores, donde solo se permite una instancia de una base de datos. En este caso, la instancia activa es la instancia que se restaura. Con JetRestore, no se puede especificar la ubicación de las bases de datos restauradas.
JET_ERR JET_API JetRestore(
__in JET_PCSTR sz,
__in JET_PFNSTATUS pfn
);
Parámetros
sz
Carpeta donde se encuentra la copia de seguridad. La copia de seguridad debe haberse generado mediante la función JetBackup .
pfn
Puntero opcional a la función a la que se llamará como información de notificación sobre el progreso de la operación de restauración.
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 de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.
Código devuelto |
Descripción |
---|---|
JET_errSuccess |
La operación se ha completado correctamente. |
JET_errAlreadyInitialized |
Error en la operación porque el motor ya se ha inicializado para esta instancia. |
JET_errInvalidLogSequence |
El conjunto de archivos de registro del conjunto de copia de seguridad y de la ruta de acceso del registro actual no coinciden. |
JET_errInvalidParameter |
Uno de los parámetros proporcionados contenía un valor inesperado o contenía un valor que no tenía sentido cuando se combinaba con el valor de otro parámetro. |
JET_errInvalidPath |
Error en la operación porque algunas de las rutas de acceso proporcionadas no son válidas (la ruta de acceso de copia de seguridad, la ruta de acceso de destino, el registro o la ruta del sistema de la instancia). |
JET_errPageSizeMismatch |
Error en la operación porque el motor está configurado para usar un tamaño de página de base de datos (mediante JetSetSystemParameter para JET_paramDatabasePageSize) que no coincide con el tamaño de página de la base de datos usado para crear los archivos de registro de transacciones o las bases de datos asociadas a los archivos de registro de transacciones. |
JET_errRunningInMultiInstanceMode |
Error en la operación porque los parámetros implican el modo de instancia única (modo de compatibilidad de Windows 2000) y el motor ya está en modo de varias instancias. |
Si se ejecuta correctamente, los archivos de base de datos del conjunto de copia de seguridad se restaurarán en su ubicación y la recuperación se ejecutará de forma que las bases de datos estén en un estado de coherencia transaccional limpio. La recuperación reproducirá los archivos de registro del conjunto de copia de seguridad y los archivos de registro de la ruta de acceso del registro si estos archivos existen. Esta recuperación dará lugar a cambios en el archivo de punto de comprobación, los archivos de registro de transacciones y las bases de datos a las que hacen referencia esos archivos de registro de transacciones.
En caso de error, la instancia permanece en un estado no inicializado. Es probable que el estado de los archivos de registro de transacciones y las bases de datos a las que hacen referencia esos archivos de registro de transacciones se hayan cambiado en el intento de inicializar la restauración y recuperar las bases de datos.
Comentarios
El proceso de recuperación reconstruirá las bases de datos adjuntas a la instancia durante la copia de seguridad y guardará los cambios en los archivos de base de datos. El resultado será bases de datos coherentes con las transacciones. Si es posible, también guardará en la base de datos los cambios realizados desde que se realizó la copia de seguridad hasta el cambio más reciente encontrado en los registros de transacciones. Esto sería posible si los registros de transacciones generados, ya que la copia de seguridad se realizó todavía está presente en el directorio del registro de transacciones. Tenga en cuenta que si se ha habilitado el registro circular para la instancia, los registros de transacciones generados se reutilizan de modo que la recuperación pueda guardar los cambios que tuvieron lugar hasta el momento de la copia de seguridad. En cualquier caso, es posible que este proceso tarde bastante tiempo si el número de archivos de registro de transacciones que se van a reproducir en las bases de datos es grande.
Se debe llamar a las funciones JetRestore en una instancia antes de que se llame a JetInit para esa instancia.
Dado que durante la recuperación se usará un número significativo de páginas de base de datos y registros de transacciones, hay una serie completa de errores que pueden devolver estas funciones. Estos errores pueden deberse a errores de asignación de recursos temporales, como Jet_errOutOfMemory a errores que representan daños físicos como JET_errReadVerifyFailure, JET_errLogFileCorrupt o JET_errBadPageLink. Estos errores casi siempre se deben a problemas de hardware y, por tanto, no se pueden evitar. La administración incorrecta de archivos se manifestará con más frecuencia como JET_errMissingLogFile o JET_errAttachedDatabaseMismatch o JET_errDatabaseSharingViolation o JET_errInvalidLogSequence. La aplicación puede evitar estos errores. La aplicación debe tener cuidado de proteger el repositorio de estos archivos frente a la manipulación por parte de fuerzas externas, como el usuario u otras aplicaciones. Si la aplicación desea destruir una instancia por completo, se deben eliminar todos los archivos asociados a la instancia. Estos incluyen el archivo de punto de comprobación, los archivos de registro de transacciones y los archivos de base de datos adjuntos a la instancia.
Los distintos pasos de la recuperación tendrán entradas del registro de eventos generadas, incluido el progreso de reproducción del registro de transacciones y el resultado final de la restauración.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Unicode |
Se implementa como JetRestoreW (Unicode) y JetRestoreA (ANSI). |
Consulte también
JET_ERR
JET_GRBIT
JET_INSTANCE
JetBackup
JetBackupInstance
JetCreateInstance
JetSetSystemParameter