Descripción del registro de transacciones

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Última modificación del tema: 2007-08-30

En esta sección se describen las características del registro de transacciones deMicrosoft Exchange Server 2007 e incluye una breve descripción del registro circular.

El registro de transacciones de Exchange Server es un mecanismo sólido de recuperación del Motor de almacenamiento extensible (ESE) diseñado para restaurar una base de datos de Exchange de forma confiable en un estado coherente después de cualquier parada repentina de la base de datos. El mecanismo de registro también se usa al restaurar copias de seguridad en línea. 

Registro de transacciones de Exchange

Antes de que se puedan realizar cambios en un archivo de base de datos de Exchange, Exchange escribe los cambios en un archivo de registro de transacciones. Una vez que un cambio se ha registrado sin problemas, ya se puede escribir en el archivo de la base de datos. Es habitual que estos cambios estén disponibles para los usuarios finales justo después de que se hayan protegido en el registro de transacción y antes de que se hayan escrito en el archivo de la base de datos.

Exchange usa un sofisticado sistema de administración de memoria interna ajustada para un alto rendimiento y puede administrar con eficacia la memoria caché de docenas de gigabytes (GB) de páginas de bases de datos. Por ello, la escritura física de los cambios en el archivo de la base de datos es una tarea de baja prioridad durante el funcionamiento normal.

Si una base de datos se detiene repentinamente, los cambios de la memoria caché no sólo se pierden a causa de la destrucción de la memoria caché de la memoria. Cuando la base de datos se reinicia, Exchange examina los archivos de registro y reconstruye y aplica todos los cambios que aún no se han escrito en el archivo de la base de datos. Este proceso se llama reproducir archivos de registro. La base de datos se estructura para que Exchange pueda determinar si algún archivo de registro ya se ha aplicado a la base de datos, se debe aplicar a la base de datos o no pertenece a la base de datos.

En lugar de escribir toda la información de registro en un sólo archivo grande, Exchange usa una serie de archivos de registro, todos con un tamaño exacto de un megabyte, o 1.024 kilobytes (KB). Cuando un archivo de registro está lleno, Exchange lo cierra y le cambia el nombre con un número secuencial. El primer registro que se llena termina con el nombre Enn00000001.log. nn se refiere a un número de dos dígitos conocido como el nombre base o el prefijo de registro.

Los archivos de registro para cada grupo de almacenamiento se distinguen mediante nombres de archivo con prefijos numerados (por ejemplo, E00, E01, E02 o E03). El archivo de registro actualmente abierto para un grupo de almacenamiento simplemente se denomina Enn.log—no tiene una unidad de número de secuencia hasta que se ha llenado y cerrado.

El archivo del punto de control (Enn.chk) realiza un seguimiento del progreso de Exchange al escribir la información de registro en los archivos de bases de datos. Hay un archivo del punto de control para cada secuencia de registros y una secuencia de registro independiente para cada grupo de almacenamiento. Dentro de un único grupo de almacenamiento todas las bases de datos comparten una única secuencia de registro. De este modo, un único archivo de registro a menudo contiene operaciones de varias bases de datos.

Los archivos de registro se numeran de forma hexadecimal, de manera que el archivo de registro que sigue a E0000000009.log es E000000000A.log, y no E0000000010.log. Puede convertir los números de secuencia de archivos de registro en sus valores decimales con la aplicación Calculadora de Windows (Calc.exe) en modo Científica. Para hacerlo, ejecute Calc.exe y, a continuación, en el menú Ver haga clic en Científica.

Para ver el número de secuencia decimal para un archivo de registro concreto, puede examinar su encabezado con la herramienta Utilidades de bases de datos (Eseutil.exe) de Exchange Server. La primera página de 4-KB de cada archivo de registro contiene información de encabezado que describe e identifica el archivo de registro y la base de datos a la que pertenece. El comando Eseutil /ml [nombre de archivo de registro] muestra la información de encabezado. Para obtener más información acerca de Eseutil, consulte Eseutil.

Si usa el conmutador incorrecto para mostrar el encabezado (por ejemplo, si usa /ml con un encabezado de base de datos en vez de /mh), se mostrará un error o la información del encabezado que se muestre puede que sea confusa o incorrecta.

No se puede ver el encabezado de una base de datos cuando está montada. Tampoco se puede ver el encabezado de un archivo de registro actual (Enn.log) si alguna de las bases de datos del grupo de almacenamiento está montada. Exchange mantiene el archivo de registro actual abierto mientras la base de datos lo esté usando. Puede, no obstante, ver el encabezado del archivo del punto de control mientras las bases de datos están montadas. Exchange actualiza el archivo del punto de control cada treinta segundos y su encabezado se puede ver excepto mientras se produce una actualización.

Como administrador de Exchange es valioso entender los encabezados de los archivos de Exchange. Si entiende los encabezados de los archivos, puede determinar qué base de datos y archivos de registro van juntos y qué archivos son necesarios para una recuperación correcta.

En el siguiente ejemplo de encabezado de archivo de registro, observe las primeras cuatro líneas.

Base name: e00
Log file: e00.log
lGeneration: 11 (0xB)
Checkpoint: (0xB,7DC,6F)

Estas líneas de encabezado de archivo de registro muestran que este archivo es el archivo de registro actual porque el nombre del archivo de registro no tiene un número de secuencia. La línea lGeneration muestra que cuando el registro está lleno y cerrado, su número de secuencia será B, que corresponde al valor decimal 11. El nombre base es e00 y, por lo tanto, el nombre final del archivo de registro será E000000000B.log.

El valor Checkpoint en el ejemplo de encabezado anterior no se lee desde el encabezado del archivo de registro, sino que se visualiza como si lo fuera. Eseutil.exe lee el valor de Checkpoint directamente desde Enn.chk, de manera que no tenga que escribir otro comando para saber dónde se encuentra el archivo del punto de control. Si el archivo del punto de control se ha destruido, el valor de Checkpoint indica NOT AVAILABLE. En este caso, el punto de control es el archivo de registro actual (0xB) y los números 7DC y 6F indican hasta dónde llega el control en el archivo de registro. Observe que raras veces tendrá una necesidad práctica de esta información.

Si el archivo del punto de control se destruye, Exchange aún puede recuperar los archivos de registro de reproducción de manera adecuada. Pero para hacerlo, Exchange empieza a explorar archivos de registro, empezando por el archivo disponible más antiguo, en vez de empezar por el registro del punto de control. Exchange omite los datos que ya se han aplicado a la base de datos y funciona de forma secuencial a través de los registros hasta que se encuentran los datos que se deben aplicar.

Normalmente, Exchange sólo tarda uno o dos segundos en explorar el archivo de registro que ya se ha aplicado a la base de datos. Si hay operaciones en un archivo de registro que se deben escribir en la base de datos, puede que tarde de 10 segundos a varios minutos en aplicarlas. De media, el contenido de un archivo de registro se puede escribir en una base de datos en 30 segundos o menos.

Cuando una base de datos de Exchange se cierra con normalidad, todos los datos destacados se escriben en los archivos de la base de datos. Después de un apagado con normalidad, el conjunto de archivos de la base de datos se considera coherente y Exchange lo desconecta de su secuencia de registro. Esto significa que ahora los archivos de base de datos son aplicaciones independientes: están totalmente actualizadas. Los registros de transacción no son necesarios para iniciar los archivos de base de datos.

Puede saber si una base de datos se ha cerrado correctamente ejecutando el comando Eseutil /mh y examinando los encabezados del archivo.

Con todas las bases de datos en un grupo de almacenamiento desconectado y en un estado de Cierre limpio, todos los archivos de registro se pueden eliminar sin problemas sin afectar a la base de datos. Si, a continuación, deseara eliminar todos los archivos de registro, Exchange generaría una nueva secuencia de registros empezando por Enn00000001.log. Incluso podría mover los archivos de la base de datos en otro servidor o grupo de almacenamiento que tenga archivos de registro existentes y la base de datos los adjuntaría en otra secuencia de registro.

Nota

Aunque puede eliminar los archivos de registro después de que todas las bases de datos de un grupo de almacenamiento se hayan cerrado, si lo hiciera afectaría su capacidad de restaurar copias de seguridad más antiguas y realizar una puesta al día. La base de datos actual ya no necesita archivos de registro existentes, pero puede que sean necesarios si debe restaurar una base de datos más antigua.

Si una base de datos se encuentra en estado de cierre incorrecto, todos los registros de transacción del reenvío de punto de control deben estar presentes antes de que pueda volver a montar la base de datos. Si estos registros no están disponibles, debe reparar la base de datos ejecutando el comando Eseutil /p para que la base de datos sea coherente y esté a punto para iniciarse.

Advertencia

Si tiene que reparar una base de datos, se perderán algunos datos. La pérdida de datos normalmente es mínima; sin embargo, podría ser catastrófica. Después de ejecutar Eseutil /p en una base de datos, debería reparar completamente la base de datos con las dos operaciones siguientes: Primero, ejecute Eseutil/d para desfragmentar la base de datos. Esta operación descarta y reconstruye todos los índices y árboles de espacio de bases de datos. Segundo, ejecute la herramienta Comprobador de integridad de almacenes de información (Isinteg.exe) en su modo –fix. Esta herramienta explora la base de datos en busca de incoherencias lógicas que se crean descartando registros de transacciones destacados. Por ejemplo, puede que haya referencias en la base de datos que no estén actualizadas entre sí. Isinteg.exe intenta corregir estos problemas con las mínimas pérdidas de datos.

Además de permitir que Exchange recupere confiabilidad de una parada de base de datos inesperada, el registro de transacciones también es esencial para crear y restaurar copias de seguridad en línea. Para obtener más información acerca de la creación y restauración de copias de seguridad en línea, consulte Copia de seguridad y restauración de base de datos.

Registro circular

Aunque no es recomendable, puede configurar Exchange para que ahorre espacio de disco habilitando el registro circular. Un registro circular permite a Exchange sobrescribir archivos de registro de transacciones después de que los datos de estos archivos de registro se hayan guardado en la base de datos. No obstante, si el registro circular está habilitado, sólo podrá recuperar los datos hasta la última copia de seguridad completa.

En el registro de transacciones estándar que usa Exchange 2007, todas las transacciones de la base de datos del grupo de almacenamiento se escriben en un archivo de registro y, a continuación, en una base de datos. Cuando el archivo de registro alcanza un tamaño de un megabyte (MB), se le cambia el nombre y se crea un nuevo archivo de registro. Con el tiempo, se genera un conjunto de archivos de registro. Si Exchange se detiene de forma inesperada, puede recuperar las transacciones sustituyendo los datos de estos archivos de registro en la base de datos. El registro circular sobrescribe y vuelve a usar el primer archivo de registro una vez que los datos que contiene se hayan escrito en la base de datos.

En Exchange 2007, el registro circular está deshabilitado de forma predeterminada. Si lo habilita, reducirá los requisitos de espacio de almacenamiento de la unidad. Sin embargo, sin un conjunto completo de archivos de registro de transacciones, no puede recuperar ningún dato más reciente que la última copia de seguridad completa. Por ello, en un entorno de producción normal, no se recomienda el registro circular.

Para más información acerca de cómo habilitar y deshabilitar el registro circular en Exchange 2007, consulte Cómo habilitar o deshabilitar el registro circular para un grupo de almacenamiento.

Replicación continua y registro circular

Se puede combinar el registro circular con la replicación continua. En esta configuración, cuenta con un nuevo tipo de registro circular denominado registro circular de replicación continua (CRCL), que es diferente del registro circular ESE descrito anteriormente en este tema. Mientras que el registro circular ESE lo realiza y administra el servicio Almacén de información de Microsoft Exchange, el CRCL lo realiza y administra el servicio de replicación de Microsoft Exchange.

Si se habilita, el registro circular ESE no genera archivos de registro adicionales y, en su lugar, sobrescribe el archivo de registro actual en caso necesario. No obstante, en un entorno de replicación continua, los archivos de registro son necesarios para el envío y la reproducción. En consecuencia, cuando se habilita el CRCL, el archivo de registro actual no se sobrescribe y se generan archivos de registro cerrados para el proceso de envío y reproducción de registro. En concreto, el Servicio de replicación de Microsoft Exchange administra el CRCL para mantener la continuidad del registro y el eliminador de registros no elimina los registros si aún son necesarios para la replicación. Por tanto, habilitar el CRCL no debería afectar negativamente a la replicación.

La versión RTM de Exchange 2007 admite la combinación del registro circular con la replicación continua en clúster (CCR) o la replicación continua local (LCR). Sin embargo, este no es el procedimiento recomendado porque no permite una recuperación de puesta al día después de restaurar una copia de seguridad. Exchange 2007 Service Pack 1 (SP1) también permite que los grupos de almacenamiento en un entorno de CCR, LCR o replicación continua en espera (SCR) tengan habilitado el registro circular. No obstante, esta práctica tampoco es la recomendada por el motivo indicado anteriormente. Si se habilita en alguno de estos componentes, la funcionalidad es CRCL y no el registro circular de ESE (también denominado registro circular de Joint Engine Technology (JET)). En un entorno de CCR, LCR o SCR, debe usar siempre el proceso siguiente para habilitar o deshabilitar el registro circular:

  1. Para suspender la replicación continua, use el cmdlet Suspend-StorageGroupCopy.

  2. Habilitar o deshabilitar el registro circular. Para conocer de forma detallada los pasos sobre cómo habilitar o deshabilitar el registro circular, consulte Cómo habilitar o deshabilitar el registro circular para un grupo de almacenamiento

  3. Desmontar y volver a montar la base de datos en el grupo de almacenamiento en el que se está habilitando o deshabilitando el registro circular.

  4. Reanudar la replicación continua con el cmdlet Resume-StorageGroupCopy.

Para los grupos de almacenamiento de un entorno de LCR, antes de ejecutar el cmdlet Enable-StorageGroupCopy para activar un LCR en un grupo de almacenamiento, debe asegurarse de que el servicio Almacén de información de Microsoft Exchange detecte y use el ajuste de registro circular desmontando y volviendo a montar la base de datos en el grupo de almacenamiento. Si bien el servicio Almacén de información de Microsoft Exchange requiere que se desmonte y vuelva a montar la base de datos para detectar y usar el cambio de configuración, el servicio Replicación de Microsoft Exchange puede detectar y usar el cambio de configuración de forma dinámica y sin reiniciarse. Por tanto, si no se realiza el procedimiento anterior, una base de datos puede terminar en una situación en la que el servicio Replicación de Microsoft Exchange considere que el registro circular está desactivado (o activado) mientras que el servicio Almacén de información de Microsoft Exchange lo considera en el estado opuesto. Esto puede hacer que se trunquen prematuramente los archivos de registro.

Nota

La deshabilitación de LCR o SCR permite que las copias de seguridad o el registro circular eliminen los archivos de registro antes de copiar, pero no existe una opción de deshabilitación en CCR. Independientemente de si CRCL está habilitado, en CCR, los registros que no se replican no se eliminan nunca.

Para mantener bajo control la cantidad de registros de transacción que se crean, los administradores en ocasiones habilitan el registro circular durante los movimientos de grandes buzones. Dado que el movimiento de un buzón es una operación que implica a dos bases de datos distintas, puede habilitar el registro circular en ambas bases de datos durante el movimiento del buzón.

Nota

Dado que el registro circular interfiere en la capacidad de actualizar el grupo de almacenamiento en caso de error, no se recomienda usar el registro circular durante largos períodos de tiempo.

Puede habilitar CRCL en entornos de CCR, LCR y SCR para realizar movimientos de buzón o en otros escenarios que producen una gran acumulación de archivos de registro. No obstante, durante el tiempo en que CRCL esté habilitado, no podrá realizar copias de seguridad. Por tanto, debe asegurarse de que:

  • Los movimientos de buzón no interfieran en las operaciones de copia de seguridad, porque si CRCL está activado no se pueden realizar copias de seguridad.

  • Se deshabilita CRCL una vez completados los movimientos de buzón para que puedan reanudarse las copias de seguridad.