Compartir a través de


Función JetBeginExternalBackup

Se aplica a: Windows | Windows Server

Función JetBeginExternalBackup

La función JetBeginExternalBackup inicia una copia de seguridad externa mientras el motor y la base de datos están en línea y activa. JetBeginExternalBackup es el primero en una serie de funciones a las que se debe llamar para ejecutar una copia de seguridad en línea correcta (no basada en VSS).

Se puede usar una copia de seguridad externa para implementar copias de seguridad completas, incrementales o diferenciales.

La copia de seguridad será aproximada, en que la copia de seguridad será coherente con un único punto en el tiempo en el historial de transacciones, pero no es posible controlar el momento exacto en el tiempo.

    JET_ERR JET_API JetBeginExternalBackup(
      __in          JET_GRBIT grbit
    );

Parámetros

grbit

Un grupo de bits que especifica cero o más de las siguientes opciones.

Valor

Significado

JET_bitBackupAtomic

Esta marca está en desuso. El uso de este bit dará lugar a que se devuelva JET_errInvalidgrbit.

JET_bitBackupIncremental

Crea una copia de seguridad incremental en lugar de una copia de seguridad completa. Esto significa que solo se realizará una copia de seguridad de los archivos de registro desde la última copia de seguridad completa o incremental.

JET_bitBackupSnapshot

Reservado para uso futuro. Definido para Windows XP.

Valor devuelto

Esta función devuelve el JET_ERR tipo de datos 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_errBackupInProgress

Si ya está en proceso una copia de seguridad externa o una copia de seguridad de instantáneas, este error se devolverá hasta que se llame a JetBeginExternalBackup (o una de las variantes de ella). ESE solo permite una copia de seguridad en línea a la vez.

JET_errBackupNotAllowedYet

La instancia o el motor de base de datos se encuentra en recuperación o en una fase de apagado o finalización.

JET_errCheckpointCorrupt

En una copia de seguridad completa, no se pudo leer el archivo de punto de comprobación o no se pudo comprobar el archivo.

JET_errCheckpointFileNotFound

En una copia de seguridad completa, no se encontró el archivo de punto de comprobación.

JET_errClientRequestToStopJetService

La operación no se puede completar porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService.

JET_errInstanceUnavailable

La operación no se puede completar porque la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos.

Windows XP: Este valor devuelto se introduce en Windows XP.

JET_errInvalidBackup

El registro circular está habilitado y el tipo de copia de seguridad especificado se JET_bitBackupIncremental. Consulte JET_paramCircularLog en Los errores del registro de transacciones para obtener información sobre cómo controlar el registro circular o no circular.

JET_errInvalidgrbit

Uno o varios de los miembros grbit no eran válidos .

JET_errLoggingDisabled

La recuperación o el registro están deshabilitados. No puede realizar una copia de seguridad en línea si el registro está deshabilitado. Para obtener más información sobre el registro y la recuperación, consulte JET_paramRecovery.

JET_errLogWriteFail

El motor ha dejado de escribir en la unidad de registro, debido a errores de E/S de disco o completos.

JET_errMissingFullBackup

Se especificó la copia de seguridad incremental (con JET_bitBackupIncremental) y nunca se realizó una copia de seguridad completa para una de las bases de datos adjuntas para el conjunto de registro.

JET_errNotInitialized

La operación no se puede completar porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errOutOfMemory

Error en la operación porque no se pudo asignar suficiente memoria para completarla.

JET_errRestoreInProgress

La operación no se puede completar porque una operación de restauración está en curso en la instancia asociada a la sesión.

JET_errRunningInMultiInstanceMode

Error en la operación porque se intentó usar el motor en modo heredado (modo de compatibilidad de Windows 2000), donde solo se admite una instancia cuando de hecho ya existen varias instancias.

JET_errTermInProgress

La operación no se puede completar porque la instancia asociada a la sesión se está cerrando.

Si la función se ejecuta correctamente, se inicia una copia de seguridad externa y se inicializa el motor de estado de copia de seguridad. Ahora se puede llamar a las API posteriores para completar la secuencia de copia de seguridad externa y transmitir o leer el archivo de base de datos, el archivo de revisión de la base de datos (si se admite) y el archivo de registro. Se puede registrar un evento que ha comenzado una copia de seguridad externa.

Si se produce un error en la función, no se iniciará la sesión de copia de seguridad. Si hay otra sesión de copia de seguridad en curso, no se cancelará.

Comentarios

El proceso de copia de seguridad externo (iniciado por JetBeginExternalBackup) está diseñado para permitir una copia de seguridad aproximada en línea de la transacción aproximada de toda la instancia en un dispositivo de destino como una secuencia. La copia de seguridad contendrá todos los archivos de base de datos adjuntos a la instancia mediante JetAttachDatabase (para una copia de seguridad completa), seguido de sus archivos de revisión de base de datos asociados (si se admiten) y, por último, los archivos de registro de transacciones que se generaron durante el proceso de copia de seguridad. El resultado final será un conjunto de archivos que se pueden restaurar desde la secuencia, posiblemente combinados con archivos de registro y base de datos existentes y, por último, recuperados en un estado coherente.

El orden general de las operaciones para una copia de seguridad completa consta de las siguientes llamadas. En primer lugar, se llama a JetBeginExternalBackup para iniciar el proceso de copia de seguridad. A continuación, se llama a JetGetAttachInfo para obtener la lista de bases de datos asociadas a la instancia de la que se debe realizar una copia de seguridad. Para cada una de estas bases de datos, se llama a JetOpenFile , seguida de una serie de llamadas a JetReadFile y, a continuación, mediante una llamada a JetCloseFile. A continuación, se llama a JetGetLogInfo para obtener una lista de los archivos de registro y revisión de base de datos de los que se va a realizar una copia de seguridad. Para cada uno de estos archivos, se realiza otra secuencia de llamadas JetOpenFile, JetReadFile y JetCloseFile . A continuación, los archivos de registro de transacciones no deseados se eliminan mediante JetTruncateLog. Por último, la copia de seguridad finaliza mediante una llamada a JetEndExternalBackup.

También es posible modificar este conjunto de pasos para realizar una copia de seguridad incremental de la instancia. Una copia de seguridad incremental enumera y realiza una copia de seguridad de los archivos de registro. Las copias de seguridad incrementales solo son posibles si el registro circular no está habilitado.

También es posible modificar este conjunto de pasos para permitir que se realicen copias de seguridad diferenciales posteriores de la instancia. Para realizar una copia de seguridad diferencial, no llame a JetTruncateLog en la copia de seguridad completa o incremental anterior. Al no llamar a JetTruncateLog, permite que las copias de seguridad posteriores sean diferenciales con respecto a la última copia de seguridad completa o incremental. Las copias de seguridad diferenciales solo son posibles si el registro circular no está habilitado.

El archivo de revisión de base de datos es un archivo auxiliar especial que se usa para almacenar imágenes de página de base de datos en determinadas circunstancias durante la copia de seguridad. Este archivo debe estar presente en la misma ubicación que su base de datos asociada durante una operación de restauración. Este archivo solo se usa en Windows 2000. Como resultado, cualquier aplicación escrita para trabajar con Windows 2000 y otras versiones debe admitir archivos de revisión de base de datos, si están presentes, pero tampoco debe producir un error si no están presentes.

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.

Consulte también

JET_ERR
JET_GRBIT
JET_INSTANCE
JetAttachDatabase
JetBeginExternalBackupInstance
JetCloseFile
JetEndExternalBackup
JetEndExternalBackupInstance2
JetGetAttachInfo
JetGetLogInfo
JetOpenFile
JetReadFile
JetStopBackup
JetTruncateLog