Reduzir o arquivo de log
SQL ServerBackup e 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);O que faz
Reduz o tamanho físico do arquivo de log de transações e devolve espaço ao sistema operacional.
Quando usar
Quando o log ficou permanentemente inchado após um crescimento anormal pontual (transação grande/rebuild de índice).
Atenção
PERIGOSO/CUIDADO: reduzir (shrink) rotineiramente é MÁ prática; a performance cai enquanto o log volta a crescer e a fragmentação de VLFs aumenta. Faça um backup de log antes, senão o tamanho não diminui. Reduza apenas um arquivo de log que cresceu sem necessidade, não o arquivo de dados. Depois, faça-o crescer de volta a um tamanho adequado em um único passo.
Relacionados
- Fazer backup do log de transações
- Fazer backups FULL e DIFFERENTIAL
- Por que o arquivo de log cresceu / por que não está truncando
- Mostrar a quantidade de VLFs (Virtual Log Files)
- Encontrar a transação aberta mais antiga (ACTIVE_TRANSACTION)
- Fazer um backup avulso sem quebrar a cadeia (COPY_ONLY, striping, vazão)