Gerenciando o tamanho do arquivo de logs de transações

Em alguns casos, pode ser útil alterar o tamanho de um arquivo de log físico.

Monitorando o uso do espaço de log

Você pode monitorar o uso do espaço de log usando DBCC SQLPERF (LOGSPACE). Esse comando retorna informações sobre a quantidade de espaço de log usada atualmente e indica quando o log de transações precisa ser truncado. Para obter mais informações, consulte DBCC SQLPERF (Transact-SQL). Para obter informações sobre o tamanho atual de um arquivo de log, seu tamanho máximo e a opção de crescimento automático para o arquivo, você também pode usar as colunas size, max_size e growth para esse arquivo de log em sys.database_files. Para obter mais informações, consulte sys.database_files (Transact-SQL).

Observação importanteImportante

Recomendamos que seja evitada a sobrecarga do disco de log.

Reduzindo o tamanho do arquivo de log.

O truncamento de log é essencial porque libera espaço em disco para novo uso, mas não reduz o tamanho do arquivo de log físico. Para diminuir seu tamanho físico, o arquivo de log deverá ser reduzido para remover um ou mais arquivos de log virtuais que não contenham nenhuma parte do log lógico (isto é, arquivos de log virtuais inativos). Quando um arquivo de log de transações é reduzido, um número suficiente de arquivos de log virtuais inativos é removido do final do arquivo de log para reduzir o log aproximadamente ao tamanho do destino. Para obter mais informações, consulte Reduzindo o log de transações.

ObservaçãoObservação

Fatores como uma transação demorada que mantêm arquivos de log virtuais ativos por um período extenso podem restringir a redução de log ou até mesmo impedir que o log seja reduzido. Para obter mais informações, consulte Fatores que podem atrasar o truncamento de log.

Para obter mais informações, consulte Reduzindo o log de transações.

Adicionando ou aumentando um arquivo de log

Você também pode obter mais espaço aumentando o arquivo de log existente (se houver espaço no disco) ou adicionando um arquivo de log ao banco de dados, geralmente em um disco diferente.

  • Para adicionar um arquivo de log ao banco de dados, use a cláusula ADD LOG FILE da instrução ALTER DATABASE. Adicionar um arquivo de log permite o crescimento do log. Para obter informações sobre como adicionar arquivos, consulte Adicionando e excluindo arquivos de dados e log de transações.

  • Para aumentar o arquivo de log, use a cláusula MODIFY FILE da instrução ALTER DATABASE, especificando a sintaxe SIZE e MAXSIZE. Para obter mais informações, consulte ALTER DATABASE (Transact-SQL).

Otimizando o tamanho do log de transações de tempdb

A reinicialização de uma instância de servidor redimensiona o log de transações do banco de dados tempdb a seu tamanho original, antes do crescimento automático. Isso pode reduzir o desempenho do log de transações do tempdb. Você pode evitar essa sobrecarga aumentando o tamanho do log de transações do tempdb depois de iniciar ou reinicializar a instância de servidor. Para obter mais informações, consulte Banco de dados tempdb e Otimizando o desempenho de tempdb.

Controlando o tamanho de um arquivo de log de transações

Você pode usar a instrução ALTER DATABASE (Transact-SQL) para gerenciar o crescimento de um arquivo de log de transações. Observe o seguinte:

  • Para alterar o tamanho do arquivo atual em unidades KB, MB, GB e TB, use a opção SIZE.

  • Para alterar o incremento de crescimento, use a opção FILEGROWTH. Um valor 0 indica que o crescimento automático está definido como off e nenhum espaço adicional é permitido.

  • Para controlar ao máximo o tamanho de um arquivo de log em unidades KB, MB, GB e TB, ou para definir o crescimento como UNLIMITED, use a opção MAXSIZE.