Truncamiento del registro de transacciones

Actualizado: 15 de septiembre de 2007

Si no se eliminaran nunca las entradas del registro de transacciones, se terminaría ocupando todo el espacio en disco disponible para los archivos de registro físicos. El truncamiento del registro libera automáticamente el espacio en disco para que lo reutilice el registro de transacciones.

Excepto cuando se retrasa por alguna razón, el truncamiento del registro ocurre automáticamente de la siguiente forma:

  • En el modelo de recuperación simple, después de un punto de comprobación.
  • En el modelo de recuperación completa o en el modelo de recuperación por medio de registros de operaciones masivas, después de una copia de seguridad del registro, si se produce un punto de control desde la copia de seguridad anterior. Para obtener más información, vea "Truncamiento del registro con el modelo de recuperación completa y por medio de registros de operaciones masivas", más adelante en este tema.

Si bien se trata de un proceso automático, existen unos factores que pueden retrasar el truncamiento del registro. Para obtener información acerca de los factores que pueden retrasan el truncamiento del registro, vea Factores que pueden ralentizar el truncamiento del registro..

ms189085.note(es-es,SQL.90).gifImportante:
En caso de que haya un gran retraso largo en el truncamiento del registro, es posible que se llene el registro de transacciones. Para obtener información acerca de cómo tratar un registro de transacciones lleno, vea Solucionar problemas de un registro de transacciones lleno (Error 9002).

Para obtener información sobre la arquitectura del truncamiento del registro, vea "Cómo funciona el truncamiento del registro", más adelante en este tema.

Truncamiento del registro con el modelo de recuperación completa y por medio de registros de operaciones masivas

En el modelo de recuperación completa o en el modelo de recuperación por medio de registros de operaciones masivas, no se puede truncar la parte inactiva del registro hasta que se hayan capturado todas sus entradas de registro en una copia de seguridad de registros. Esto es necesario para mantener la cadena de registros, una serie de entradas de registro que tienen una secuencia continua de números de secuencia de registro (LSN). El registro se trunca cuando se realiza la copia de seguridad del registro de transacciones, siempre que se cumplan las siguientes condiciones:

  • Se ha producido un punto de comprobación desde la última copia de seguridad del registro. Un punto de comprobación es esencial pero no suficiente para truncar el registro en el modelo de recuperación completa o el modelo de recuperación por medio de registros de operaciones masivas. Después de un punto de comprobación, el registro se mantiene intacto, al menos hasta la siguiente copia de seguridad del registro de transacciones.
    Para obtener más información, vea Puntos de comprobación y la parte activa del registro.
  • Ningún otro factor impide el truncamiento del registro.
    Por lo general, si se hacen copias de seguridad con regularidad, el espacio de registro se libera con la misma frecuencia para su uso futuro. Sin embargo, otros factores, como una transacción de ejecución prolongada, pueden impedir temporalmente el truncamiento del registro. Para obtener más información, vea Factores que pueden ralentizar el truncamiento del registro..
  • La instrucción BACKUP LOG no especifica WITH NO_TRUNCATE, WITH NO_LOG o WITH COPY_ONLY.
    ms189085.note(es-es,SQL.90).gifImportante:
    Las opciones NO_LOG y TRUNCATE_ONLY de la instrucción BACKUP LOG rompen la cadena de registro, ya que quitan la parte inactiva del registro sin realizar una copia de seguridad. La base de datos no estará protegida contra errores en los medios hasta que se realice la siguiente copia de seguridad completa o diferencial de la base de datos. Esta característica se quitará en la versión siguiente de Microsoft SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan.

Para hacer una copia de seguridad del registro de transacciones

Cómo funciona el truncamiento del registro

[!NOTA] El truncamiento no reduce el tamaño del archivo de registro físico. Reducir el tamaño físico de un archivo de registro requiere la reducción del archivo. Para obtener información sobre cómo reducir el tamaño de un archivo de registro físico, vea Reducir el registro de transacciones.

El registro de transacciones es un archivo de registro circular. Cuando se crea la base de datos, el archivo de registro lógico empieza por el principio del archivo de registro físico. Las nuevas entradas del registro se agregan al final del registro lógico y se expanden hacia el final del archivo físico. El registro de transacciones de una base de datos está asignado a uno o varios archivos físicos. SQL Server Database Engine (Motor de base de datos de SQL Server) segmenta cada archivo de registro físico internamente en una serie de archivos de registro virtuales. El truncamiento del registro libera el espacio en el registro lógico a base de eliminar archivos de registro virtuales inactivos desde el principio del registro lógico. Para obtener información detallada sobre la arquitectura del registro de transacciones, vea Arquitectura lógica del registro de transacciones y Arquitectura física del registro de transacciones.

Los archivos de registro virtuales son las unidades de espacio que se puede reutilizar. Sólo se pueden truncar los archivos de registro que contienen únicamente entradas de registro inactivas. La parte activa del registro de transacciones, el registro activo, no puede truncarse ya que se necesita para recuperar la base de datos. El punto de comprobación más reciente define el registro activo. El registro se puede truncar hasta ese punto de comprobación.

[!NOTA] Para obtener información acerca del funcionamiento de los archivos de registro virtuales, vea Arquitectura física del registro de transacciones.

Cuando se lleva a cabo el punto de comprobación, la parte inactiva del registro de transacciones se marca como reutilizable. A partir de ese momento, se puede liberar la parte inactiva mediante el truncamiento del registro. El truncamiento libera los archivos de registro virtuales para su reutilización. Finalmente, cuando se escribe una nueva entrada en un registro virtual libre, ese archivo de registro virtual pasa de nuevo a estar activo.

Una parte de la información registrada en un punto de comprobación es el número de secuencia de registro (LSN) de la primera entrada del registro que debe estar presente para una reversión correcta de toda la base de datos. Este LSN se denomina LSN de recuperación mínimo (MinLSN). El inicio de la parte activa del registro es el registro virtual que contiene el MinLSN. Cuando se trunca un registro de transacciones, sólo se liberan para su reutilización las entradas del registro por delante de este archivo de registro virtual.

En la siguiente ilustración se muestra un registro de transacciones antes y después del truncamiento. En la primera ilustración se muestra un registro de transacciones que no se ha truncado nunca. El registro lógico tiene actualmente cuatro archivos de registro virtuales en uso. El registro lógico empieza por delante del primer archivo de registro virtual y termina en el registro virtual 4. La entrada MinLSN se encuentra en el registro virtual 3. Los registros virtuales 1 y 2 sólo contienen entradas de registro inactivas. Estas entradas pueden truncarse. El registro virtual 5 no se utiliza aún y no forma parte del registro lógico actual.

Registro de transacciones con cuatro registros virtuales

En la segunda ilustración se muestra el registro después del truncamiento. Se han liberado los registros virtuales 1 y 2 para su reutilización. El registro lógico empieza ahora en el inicio del registro virtual 3. El registro virtual 5 no se utiliza aún y no forma parte del registro lógico actual.

Archivo de registro dividido en cuatro archivos de registro virtuales

Vea también

Conceptos

Puntos de comprobación y la parte activa del registro
Configurar las opciones de la base de datos
Trabajar con copias de seguridad del registro de transacciones
Elegir el modelo de recuperación de una base de datos
Información general de los modelos de recuperación

Otros recursos

BACKUP (Transact-SQL)
Truncate Method

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

15 de septiembre de 2007

Contenido modificado:
  • Se revisó el texto de la introducción para aclarar que el truncamiento del registro es automático a menos que cada archivo de registro virtual contenga el registro activo.
  • Se movió la información de la arquitectura desde la introducción a la sección "Cómo funciona el truncamiento del registro".
  • Se agregaron vínculos al tema que explica cómo hacer una copia de seguridad del registro de transacciones.

14 de abril de 2006

Contenido modificado:
  • Se amplió la explicación del impacto del modelo de recuperación sobre el truncamiento del registro.
  • Se aclararon las descripciones de las ilustraciones.