Compartir a través de


Introducción a los registros de transacciones

Todas las bases de datos de SQL Server 2005 tienen un registro de transacciones que registra todas las transacciones y las modificaciones que cada transacción realiza en la base de datos. El registro de transacciones es un componente esencial de la base de datos y, si se produce un error del sistema, podría ser necesario para volver a poner la base de datos en un estado coherente. El registro de transacciones nunca se debe eliminar o mover, a menos que se conozcan totalmente las implicaciones de esas acciones.

Operaciones compatibles con el registro de transacciones

El registro de transacciones permite las siguientes operaciones:

  • Recuperación de transacciones individuales.

  • Recuperación de todas las transacciones incompletas cuando se inicia SQL Server.

  • Puesta al día de una base de datos, un archivo, un grupo de archivos o una página restaurados hasta el momento exacto del error.

  • Permitir replicaciones de transacciones.

  • Permitir soluciones de servidor en espera.

Recuperación de transacciones individuales

Si una aplicación emite una instrucción ROLLBACK o si Database Engine (Motor de base de datos) detecta un error, como la pérdida de comunicación con un cliente, los registros se utilizan para revertir todas las modificaciones efectuadas por una transacción incompleta.

Recuperación de todas las transacciones incompletas cuando se inicia SQL Server

Si un servidor SQL Server produce errores, las bases de datos pueden quedar en un estado en el que algunas modificaciones no han llegado a escribirse desde la caché del búfer a los archivos de datos; éstos pueden contener modificaciones como resultado de transacciones incompletas. Cuando se inicia una instancia de SQL Server, se ejecuta la recuperación de todas las bases de datos. Todas las modificaciones del registro que no se hayan podido escribir en los archivos de datos se ponen al día. Las transacciones incompletas que se encuentren en el registro de transacciones se revierten para asegurar la integridad de la base de datos.

Puesta al día de una base de datos, un archivo, un grupo de archivos o una página restaurados al punto exacto del error

Después de una pérdida de hardware o un error de disco que afecten a los archivos de base de datos, ésta se puede restaurar al punto del error. En primer lugar, restaure la última copia de seguridad completa de base de datos y la última copia de seguridad diferencial de base de datos y, después, restaure la secuencia de copias de seguridad del registro de transacciones al punto del error. Según restaura cada copia de seguridad del registro, Database Engine (Motor de base de datos) vuelve a aplicar todas las modificaciones incluidas en el registro para poner al día todas las transacciones. Cuando se restaura la última copia de seguridad, Database Engine (Motor de base de datos) utiliza la información del registro para revertir todas las transacciones no completadas hasta ese momento.

Permitir replicaciones transaccionales

El Agente de registro del LOG supervisa el registro de transacciones de cada base de datos configurada para crear replicaciones transaccionales y copia las transacciones marcadas para la replicación desde el registro de transacciones a la base de datos de distribución. Para obtener más información, vea Cómo funciona la replicación transaccional.

Permitir soluciones de servidor en espera

Las soluciones de servidor en espera, creación de reflejo de la base de datos y trasvase de registros dependen en gran medida del registro de transacciones. En un escenario de trasvase de registros, el servidor principal envía el registro de transacciones activo de la base de datos principal a uno o varios destinos. Los servidores secundarios restauran el registro en su base de datos secundaria local. Para obtener más información, vea Información general de trasvase de registros.

En un escenario de creación de reflejo de la base de datos, las actualizaciones de una base de datos (la base de datos principal) se reproducen inmediatamente en una copia completa e independiente de la base de datos (la base de datos reflejada). La instancia de servidor principal envía de forma inmediata los registros a la instancia de servidor reflejado, que los aplica a la base de datos reflejada, poniéndola al día de forma continua. Para obtener más información, vea Información general sobre la creación de reflejos de la base de datos.

Características del registro de transacciones

A continuación, se indican las características del registro de transacciones de SQL Server Database Engine (Motor de base de datos de SQL Server):

  • El registro de transacciones se implementa como un archivo o un grupo de archivos separado en la base de datos. La caché del registro se administra por separado respecto a la caché del búfer para las páginas de datos, lo cual da lugar a un código sencillo, rápido y sólido en Database Engine (Motor de base de datos).

  • El formato de los registros y las páginas no tiene las restricciones de formato de las páginas de datos.

  • El registro de transacciones se puede implementar en varios archivos. Si se establece el valor FILEGROWTH del registro, se puede definir que los archivos se expandan automáticamente. Esto reduce las posibilidades de quedarse sin espacio en el registro de transacciones, al mismo tiempo que se reduce el trabajo administrativo. Para obtener más información, vea ALTER DATABASE (Transact-SQL).

  • El mecanismo para volver a utilizar el espacio de los archivos de registro es rápido y tiene un efecto mínimo en el rendimiento de las transacciones.