DBAtlas · Atlas de operaciones de bases de datos

Reducir (shrink) el archivo de log

SQL ServerBackup y log

Comando

-- 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.

Abrir en DBAtlas →

Relacionado