Reducir (shrink) el archivo de log
SQL ServerBackup y logComando
-- First take a log backup so the log can be truncated (FULL model):
BACKUP LOG [Customer] TO DISK = N'D:\Backup\Customer_log_pre_shrink.trn' WITH COMPRESSION;
-- Find the logical name of the log file:
SELECT name, type_desc FROM sys.database_files WHERE type_desc = 'LOG';
-- Shrink (target 2048 MB):
USE [Customer];
DBCC SHRINKFILE (N'Customer_log', 2048);Qué hace
Reduce el tamaño físico del archivo de log de transacciones y devuelve el espacio al sistema operativo.
Cuándo usarlo
Cuando el log ha quedado inflado de forma permanente tras un crecimiento anómalo puntual (transacción grande/reconstrucción de índice).
Precaución
PELIGROSO/PRECAUCIÓN: Reducir de forma rutinaria es una MALA práctica; el rendimiento cae mientras el log vuelve a crecer y aumenta la fragmentación de VLF. Tome primero un backup del log; de lo contrario el tamaño no bajará. Reduzca solo un archivo de log que creció innecesariamente, no el archivo de datos. Después vuelva a hacerlo crecer a un tamaño adecuado en un solo paso.
Relacionado
- Tomar un backup del log de transacciones
- Tomar backups FULL y DIFFERENTIAL
- Por qué creció el archivo de log / por qué no se trunca
- Mostrar el número de VLF (Virtual Log File)
- Encontrar la transacción abierta más antigua (ACTIVE_TRANSACTION)
- Tomar un backup puntual sin romper la cadena (COPY_ONLY, striping, throughput)