Usuário com melhor resposta
SQL 2012 - Transaction Log

Pergunta
-
Pessoal,
Tenho um BD que possui aproximadamente 40 GB de log de transações, tenho rotinas diárias de backup full e rotinas a cada 1 hora de backup do log de transação.
Já li muito sobre o assunto que o backup de log libera espaço inativos do arquivo de log para serem reutilizados, porém tenho algumas dúvidas, entre elas a seguinte:
1. Quando da execução do backup o tamanho do arquivo do transaction log não deveria diminuir?
Att,
Tiago Sell
Respostas
-
Tiago,
Não o seu arquivo de log, não vai diminuir por que vc fez bkp de log, ele apenas vai liberar os VLFs para ser reutilizado.
O log uma vez que ele cresceu ele não diminui.
Para diminuir o arquivo do log você tem que fazer um shrink do log de transação para um tamanho que você acredita que atenda o seu negocio.
Antes de fazer isso recomendo que você leia sobre fragmentação do log de transação.
SQL Server Transaction Log Fragmentation: a Primer
8 Steps to better Transaction Log throughput
Transaction Log VLFs – too many or too few?
Important change to VLF creation algorithm in SQL Server 2014
How SQL Server Works: Log File (Video)
Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net
- Marcado como Resposta Tiago Sell terça-feira, 24 de maio de 2016 21:12
-
Bom dia Tiago,
Na verdade o Backup de LOG não vai diminuir o tamanho do arquivo, para diminuir só atraves de Shrink, o backup de LOG marca como inativa as VLF que não sao mais necessários em nenhum processo (backup log, replication, always on), ae se voce quiser diminuir tem que rodar o shrink para excluir essas VLF inativas... basicamente isso, mas na verdade envolve muita coisa, Transaction LOG é um assunto bem complexo tbm.
Att
Reginaldo Silva
- Marcado como Resposta Tiago Sell terça-feira, 24 de maio de 2016 21:12
Todas as Respostas
-
Tiago,
Não o seu arquivo de log, não vai diminuir por que vc fez bkp de log, ele apenas vai liberar os VLFs para ser reutilizado.
O log uma vez que ele cresceu ele não diminui.
Para diminuir o arquivo do log você tem que fazer um shrink do log de transação para um tamanho que você acredita que atenda o seu negocio.
Antes de fazer isso recomendo que você leia sobre fragmentação do log de transação.
SQL Server Transaction Log Fragmentation: a Primer
8 Steps to better Transaction Log throughput
Transaction Log VLFs – too many or too few?
Important change to VLF creation algorithm in SQL Server 2014
How SQL Server Works: Log File (Video)
Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net
- Marcado como Resposta Tiago Sell terça-feira, 24 de maio de 2016 21:12
-
Bom dia Tiago,
Na verdade o Backup de LOG não vai diminuir o tamanho do arquivo, para diminuir só atraves de Shrink, o backup de LOG marca como inativa as VLF que não sao mais necessários em nenhum processo (backup log, replication, always on), ae se voce quiser diminuir tem que rodar o shrink para excluir essas VLF inativas... basicamente isso, mas na verdade envolve muita coisa, Transaction LOG é um assunto bem complexo tbm.
Att
Reginaldo Silva
- Marcado como Resposta Tiago Sell terça-feira, 24 de maio de 2016 21:12
-
diminuir o tamanho dos arquivos de dados e de log no banco de dados ainda vai deixar 5 por cento de espaço livre no banco de dados.
DBCC SHRINKDATABASE (DB_TESTE, 5);
Se ainda assim não fizer muita diferença no tamanho do arquivo, faça o backup do log de novo e rode o comando de novo tb.