Pergunta

Como faço para aumentar o tamanho do log de transações? É também possível aumentar temporariamente o log de transações?

Vamos dizer que eu tenho o seguinte cenário. Eu tenho uma operação de exclusão que é muito grande para o log de transações atual. Eu luto para:

  • Aumentar o log de transações (eu pode detectar o tamanho atual ?, eu posso dizer o quão grande eu preciso de log de transações para ser para a minha operação?)
  • (Execute minha operação)
  • Backup log de transações
  • Restaurar o tamanho do log de transações.
Foi útil?

Solução

Resposta curta:

Resposta longa: você pode usar ALTER DATABASE ... MODIFY FILE para mudar o tamanho dos arquivos de banco de dados, incluindo arquivos de log. Você pode olhar para cima master_files/sysfiles (2k) ou <dbname>.sys.database_files (2K5 / 2K8) para obter o nome lógico do log. E você pode usar DBCC SHRINKFILE para reduzir um arquivo (se possível).

Eu posso dizer o quão grande eu preciso do log de transações para ser para o meu operação?

Depende de uma série de fatores (é esta nova dados? É uma atualização? É uma exclusão? O modelo de recuperação? Você tem compressão sobre SQL 2k8? Etc etc) mas é geralmente maior do que o esperado. Eu estimaria 2,5 vezes o tamanho da atualização você está prestes a executar.

Update:

Missed você diz é um DELETE. Uma estimativa grosseira é de 1,5 vezes o tamanho dos dados apagados (incluindo todos os índices).

Outras dicas

O log de transações pode ser configurado para expandir conforme necessário. Você definir a opção de crescer automaticamente. No entanto, quando o log de transações fica muito grande (a falta de espaço em disco) ou fazer o SQL Server inutilizável.

Fazer backup do log de transações. SQL vontade auto Truncar as transações inativas

Quando você restaura o log de transações será reduzida

Para configurar de crescimento automático:

  1. clique direito do mouse sobre o banco de dados no estúdio de gestão.
  2. Selecione Propriedades
  3. Atualizar valor Autogrowth

A parte mais importante é a última linha de seu cenário: "Restaurar o tamanho do log de transações" Quer dizer encolher a volta de log para seu tamanho original.

Este é realmente perigoso para uma série de razões, e nós cobrimos-los em um par de histórias sobre a SQLServerPedia:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top