Administrar el tamaño del archivo de registro de transacciones

En algunos casos, puede resultar útil reducir o expandir físicamente el archivo de registro físico del registro de transacciones de una base de datos de SQL Server. Este tema contiene información acerca de cómo supervisar el tamaño de un registro de transacciones de SQL Server, reducir el registro de transacciones, agregar o ampliar un archivo de registro de transacciones, optimizar la tasa de crecimiento del registro de transacciones tempdb y controlar el crecimiento de un archivo de registro de transacciones.

En este tema:

  • Supervisar el uso del espacio del registro

  • Reducir el tamaño del archivo de registro

  • Agregar o ampliar un archivo de registro

  • Optimizar el tamaño del registro de transacciones tempdb

  • Controlar el crecimiento de un archivo de registro de transacciones

Supervisar el uso del espacio del registro

Puede supervisar el uso del espacio del registro mediante el comando DBCC SQLPERF (LOGSPACE). Este comando devuelve información sobre la cantidad de espacio del registro actualmente en uso e indica cuándo es necesario el truncamiento del registro de transacciones. Para obtener más información, vea DBCC SQLPERF (Transact-SQL). Para obtener información acerca del tamaño actual de un archivo de registro, su tamaño máximo y la opción de crecimiento automático de este archivo, se pueden usar las columnas size, max_size y growth de ese archivo de registro en sys.database_files. Para obtener más información, vea sys.database_files (Transact-SQL).

Nota importanteImportante

Se recomienda evitar la sobrecarga del disco del registro.

[Arriba]

Reducir el tamaño del archivo de registro

Para reducir el tamaño físico de un archivo de registro físico, debe reducir el archivo de registro. Esto es útil si sabe que un archivo de registro de transacciones contiene espacio no usado que no necesitará. La reducción de un archivo de registro solo se puede realizar mientras la base de datos está en línea y existe al menos un archivo de registro virtual libre. En algunos casos, no será posible reducir el registro hasta el siguiente truncamiento del registro.

[!NOTA]

Los factores que mantienen activos los archivos de registro virtuales por un periodo prolongado de tiempo, como puede ser una transacción de ejecución prolongada, pueden restringir la reducción del registro o incluso impedirla completamente. Para obtener información acerca de los factores que pueden retrasar el truncamiento del registro, vea El registro de transacciones (SQL Server).

Con la reducción de un archivo de registro se quitan uno o varios archivos de registro virtuales que no contienen ninguna parte del registro lógico (es decir, los archivos de registro virtuales inactivos). Cuando se reduce un archivo de registro de transacciones, se quitan suficientes archivos de registro virtuales inactivos del final del archivo de registro como para reducirlo aproximadamente al tamaño de destino.

Para reducir un archivo de registro (sin reducir los archivos de base de datos)

Para supervisar los eventos de reducción de un archivo de registro

To monitor log space

[!NOTA]

La reducción de los archivos de base de datos y registro se puede establecer para que se produzca automáticamente. Sin embargo, no recomendamos realizar una reducción automática, y la propiedad de base de datos autoshrink está establecida en FALSE de forma predeterminada. Si autoshrink está establecida en TRUE, el proceso de reducción automática solo reduce el tamaño de un archivo cuando más del 25% de su espacio está sin utilizar. El tamaño del archivo se reduce hasta un tamaño en el que solo el 25% del archivo corresponde al espacio sin utilizar o hasta el tamaño original del archivo (el que sea mayor). Para obtener información sobre cómo cambiar el valor de la propiedad autoshrink, vea Ver o cambiar las propiedades de una base de datos (uso de la propiedad Reducir automáticamente en la página Opciones) o Opciones de ALTER DATABASE SET (Transact-SQL) (uso de la opción AUTO_SHRINK).

[Arriba]

Agregar o ampliar un archivo de registro

También puede obtener espacio ampliando el archivo de registro existente (si el espacio en disco lo permite) o agregando un archivo de registro a la base de datos, normalmente en otro disco.

  • Para agregar un archivo de registro a la base de datos, utilice la cláusula ADD LOG FILE de la instrucción ALTER DATABASE. El hecho de agregar un archivo de registro permite que crezca el existente.

  • Para aumentar el tamaño del archivo de registro, use la cláusula MODIFY FILE de la instrucción ALTER DATABASE, especificando la sintaxis de SIZE y MAXSIZE. Para obtener más información, vea ALTER DATABASE (Transact-SQL).

[Arriba]

Optimizar el tamaño del registro de transacciones tempdb

Al reiniciar una instancia de servidor se devuelve el tamaño del registro de transacciones de la base de datos tempdb a su tamaño original, antes del crecimiento automático. Esto puede reducir el rendimiento del registro de transacciones de tempdb. Para evitar esta sobrecarga, aumente el tamaño del registro de transacciones de tempdb después de iniciar o reiniciar la instancia de servidor. Para obtener más información, vea Base de datos tempdb.

[Arriba]

Controlar el crecimiento de un archivo de registro de transacciones

Puede usar la instrucción ALTER DATABASE (Transact-SQL) para administrar el crecimiento de un archivo de registro de transacciones. Tenga en cuenta lo siguiente:

  • Para cambiar el tamaño del archivo actual en unidades de KB, MB, GB y TB, use la opción SIZE.

  • Para cambiar el incremento de crecimiento, use la opción FILEGROWTH. El valor 0 indica que el aumento automático se establece en OFF y no se permite ningún espacio adicional. Un pequeño incremento del crecimiento automático de un archivo de registro puede reducir el rendimiento. El incremento del crecimiento de un archivo de registro debe ser lo suficientemente grande para evitar una expansión frecuente. El incremento de crecimiento predeterminado del 10% suele resultar adecuado.

    Para obtener más información acerca de cómo cambiar la propiedad de crecimiento de un archivo de registro, vea ALTER DATABASE (Transact-SQL).

  • Para controlar el máximo el tamaño de un archivo de registro en unidades de KB, MB, GB y TB o establecer el crecimiento en UNLIMITED, use la opción MAXSIZE.

[Arriba]

Vea también

Referencia

BACKUP (Transact-SQL)

Conceptos

Solucionar problemas de un registro de transacciones lleno (Error 9002 de SQL Server)