Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En algunos casos, puede ser ú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 sobre 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 de tempdb y controlar el crecimiento de un archivo de registro de transacciones.
Supervisión del uso del espacio de registro
Puede supervisar el uso del espacio de registro mediante DBCC SQLPERF (LOGSPACE). Este comando devuelve información sobre la cantidad de espacio de registro que se usa actualmente e indica cuándo se necesita truncar el registro de transacciones. Para obtener más información, vea DBCC SQLPERF (Transact-SQL). Para obtener información sobre el tamaño actual de un archivo de registro, su tamaño máximo y la opción de crecimiento automático para el archivo, también puede usar las columnas size, max_size y growth para ese archivo de registro en sys.database_files. Para obtener más información, consulte sys.database_files (Transact-SQL).
Importante
Se recomienda evitar sobrecargar el disco de registro.
Reducir el tamaño del archivo de registro
Para reducir el tamaño de un archivo de registro físico, debe compactar el archivo. Esto es útil si sabe que un archivo de registro de transacciones contiene espacio no utilizado que no necesitará. La reducción de un archivo de registro solo puede producirse mientras la base de datos está en línea y, además, al menos un archivo de registro virtual es gratuito. En algunos casos, es posible que la reducción del registro no sea posible hasta después del siguiente truncamiento del registro.
Nota:
Los factores, como una transacción de larga duración, que mantienen activos los archivos de registro virtual durante un período prolongado pueden restringir la reducción del registro o incluso impedir que el registro se reduzca en absoluto. Para obtener información sobre los factores que pueden retrasar el truncamiento del registro, vea El registro de transacciones (SQL Server).
Al reducir un archivo de registro, se quitan uno o varios archivos de registro virtual que no contienen ninguna parte del registro lógico (es decir, archivos de registro virtual inactivos). Cuando se reduce un archivo de registro de transacciones, se quitan suficientes archivos de registro virtual inactivos del final del archivo de registro para reducir el registro a aproximadamente el 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 archivos de registro
To monitor log space
sys.database_files (Transact-SQL) (vea las columnas size, max_size y growth para el archivo de registro o los archivos).
Nota:
La reducción de los archivos de base de datos y de registro se puede establecer para que se produzcan automáticamente. Sin embargo, recomendamos no reducir automáticamente y la propiedad de la base de datos autoshrink está establecida en FALSE por defecto. Si autoshrink se establece en TRUE, la reducción automática reduce el tamaño de un archivo solo cuando no se usa más del 25 por ciento de su espacio. 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 la configuración de la autoshrink propiedad, vea Ver o cambiar las propiedades de una base de datos - use la propiedad Auto Shrink en la página Opciones o ALTER DATABASE SET OPCIONES (Transact-SQL) - use la opción AUTO_SHRINK.
Agregar o ampliar un archivo de registro
Como alternativa, puede obtener espacio al ampliar el archivo de registro existente (si se permite el espacio en disco) o agregando un archivo de registro a la base de datos, normalmente en un disco diferente.
Para agregar un archivo de registro a la base de datos, use la cláusula ADD LOG FILE de la instrucción ALTER DATABASE. Agregar un archivo de registro permite que el registro crezca.
Para ampliar el archivo de registro, use la cláusula MODIFY FILE de la instrucción ALTER DATABASE, especificando los parámetros SIZE y MAXSIZE. Para obtener más información, consulte ALTER DATABASE (Transact-SQL).
Optimización del tamaño del registro de transacciones de tempdb
Al reiniciar una instancia del servidor, se cambia el tamaño del registro de transacciones de la base de datos tempdb a su tamaño original antes de autoincremento. Esto puede reducir el rendimiento del registro de transacciones de tempdb . Puede evitar esta sobrecarga aumentando el tamaño del registro de transacciones de tempdb después de iniciar o reiniciar la instancia del servidor. Para obtener más información, consulte tempdb Database.
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 de archivo actual en unidades 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 de crecimiento automático en 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 por ciento es generalmente adecuado.
Para obtener información sobre cómo cambiar la propiedad file-growth en un archivo de registro, vea ALTER DATABASE (Transact-SQL).
Para controlar el tamaño máximo de un archivo de registro en unidades KB, MB, GB y TB, o para establecer el crecimiento en UNLIMITED, use la opción MAXSIZE.
Véase también
BACKUP (Transact-SQL)
Solucionar problemas de un registro de transacciones lleno (Error 9002 de SQL Server)