Share via


Función CChkSGFiles.ErrCheckLogs

Se aplica a: Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Exchange Server 2013

Valida los archivos de registro de todos los archivos de base de datos especificados en la función ErrInit . Los registros validados son los que existen en la ruta de acceso y que tienen el nombre del archivo de registro base de tres letras pasado a ErrInit.

Vitual ERRErrCheckLogs 
(
        BOOL  * const pfOnlyUnnecessaryLogsCorrup,
    Const ULONGulFlags = NO_FLAGS
);

Parameters

pfOnlyUnnecessaryLogsCorrupt

Parámetro de salida. Cuando es true, este parámetro indica que se encontraron errores en los archivos de registro de transacciones, pero todos esos errores se encontraron en los archivos de registro que no son necesarios para llevar la base de datos a un estado de cierre limpio sin pérdida de datos. Un valor true devuelto en este parámetro solo es válido cuando ErrCheckLogs devuelve errSuccess.

ulFlags

Parámetro de entrada opcional. Este valor está reservado para su uso futuro. El valor pasado por este parámetro debe ser 0 (cero).

Valor devuelto

Código de error de la enumeración ERR .

Es importante recordar que esta función puede devolver errSuccess incluso cuando se encuentran errores en los archivos de registro. Por lo tanto, cuando ErrCheckLogs devuelve errSuccess, la aplicación también debe comprobar el parámetro devuelto pfOnlyUnnecessaryLogsCorrupt . Si pfOnlyUnnecessaryLogsCorrupts es true cuando ErrCheckLogs devuelve errSuccess, esto indica que se encontraron uno o varios errores, pero solo en los archivos de registro no necesarios para poner la base de datos actualizada.

Comentarios

Se debe llamar a la función ErrCheckDbHeaders antes de que se pueda llamar a la función ErrCheckLogs .

Cuando se comprueban los archivos de registro de transacciones de la base de datos de Exchange, algunos de los archivos de registro serán necesarios para llevar las bases de datos del grupo de almacenamiento a un estado de cierre limpio sin pérdida de datos, mientras que es posible que no se necesiten otros archivos de registro. La función ErrCheckLogs determina los archivos de registro más antiguos y los más recientes necesarios para poner al día las bases de datos.

La función ErrCheckLogs comprueba todos los archivos de registro de las rutas de acceso especificadas que también tienen el nombre de archivo base de tres letras especificado, tal como se pasa a la función ErrInit .

Si no se encuentra ningún error en los archivos de registro, ErrCheckLogs devuelve errSuccess.

Si se detecta que alguno de los archivos de registro necesarios está dañado, ErrCheckLogs devuelve un error.

Si solo se encuentran errores en archivos de registro que son anteriores a los primeros necesarios, la función devuelve errSuccess y establece el parámetro de retorno pfOnlyUnnecessaryLogCorrupt en true. La aplicación debe reconocer que hay errores en algunos de esos archivos de registro antiguos y, si es así, posiblemente alertará al usuario. En cualquier caso, esos errores no deben afectar a la integridad general de la base de datos ni afectar a si la reproducción de los registros hacia delante se realizará correctamente.

Si se encuentran errores en cualquier archivo de registro creado después del registro más antiguo que ErrCheckLogs determina que es necesario, la función devuelve un error. El error se devolverá incluso si el error del archivo de registro se encontró en un archivo de registro que se generó más tarde de lo necesario para poner la base de datos actualizada. Aunque sería posible llevar las bases de datos a un estado de apagado limpio mediante los archivos de registro identificados, no se aplicarían las transacciones especificadas en los archivos de registro dañados posteriormente, lo que provocaría la pérdida de datos cuando se restaure la base de datos.

El objeto CChkSGFiles determina si se comprobaron realmente todos los archivos de registro registrados con la función ErrInit . Si no se comprobaron correctamente todos los registros, la función ErrTerm devuelve un error.

Si usa CHKSGFILES en una aplicación multiproceso, puede llamar a la función ErrCheckLogs en la parte multiproceso de la aplicación, pero solo puede llamarla una vez para cada objeto CCheckSGFiles .

Requisitos

Exchange 2013 solo incluye una versión de 64 bits de la API CHKSGFILES.

La cuenta en la que se ejecuta la aplicación debe tener permisos de acceso de lectura para la base de datos y los archivos de registro que se van a comprobar.