Tamanho máximo do arquivo do Log de transações do SQL Server

2

Eu tenho vários bancos de dados, todos em Simple modo de recuperação. Houve preocupações anteriores sobre os tamanhos dos arquivos de log e encolhi todos usando a tarefa Shrink do Management Studio. Eu também coloquei uma configuração para que o crescimento automático de logs tenha um tamanho máximo de 1024 MB. Espero que o arquivo de log continue a crescer conforme necessário até que ele seja 1024 MB. Eu tenho duas perguntas neste momento:

  1. O que acontecerá com o arquivo de log quando esse limite for atingido?
  2. Existe algum impacto na configuração de um limite máximo menor (digamos 100 MB em vez de 1024 MB)?

Deve-se notar que há também um plano de manutenção de backup a ser realizado 2 vezes por dia e os logs devem ser automaticamente truncados (em vez de encolher).

    
por Mike Richards 29.09.2014 / 17:36

2 respostas

1

Se o seu arquivo de log atingir seu limite de tamanho durante uma transação e não puder crescer automaticamente, a transação não poderá ser confirmada e você verá erros no SQL. O arquivo de log precisa ter tamanho suficiente para manipular as transações entre as operações CHECKPOINT . Definir um limite inferior aumenta a probabilidade de você ter problemas devido a uma transação grande (dependente da carga de trabalho).

Seu arquivo de log crescerá naturalmente para o tamanho necessário, assumindo que os parâmetros autocrescimentos são definidos (note que, como a TomTom sugeriu, é melhor começar com um tamanho razoável em vez de esperar que o autopreenchimento o leve até lá, roubando você de desempenho nesse meio tempo). Normalmente, a única vez em que você deve encolher um arquivo de log do modo Simples é se você executou recentemente algum tipo de transação em massa que fez com que o arquivo de log crescesse para um tamanho muito maior do que o normalmente necessário, e você precisa recuperar esse espaço para algum outro usar.

Se você precisar reduzir os arquivos de log com frequência, precisará adicionar mais espaço ao sistema ou mover quaisquer outros serviços que requeiram esse espaço para outro servidor.

    
por 29.09.2014 / 17:44
0

What will happen to the log file once this limit is reached?

Você está com problemas. As transações falham. Isso é uma reversão de 1GB em um sistema provavelmente não preparado para lidar com a carga - levará literalmente as idades do seu tempo presumido.

Is there any impact of setting a smaller max limit (say 100 MB rather than 1024 MB)?

Você ficou sem espaço antes. Quais emans certas operações podem falhar.

Tenha certeza de quão pequenos são os bancos de dados com os quais você trabalha, mas eu

  • SEMPRE os aloque para o tamanho máximo e
  • Certifique-se de que eles tenham espaço para respirar.

Não estou trabalhando com o simples aqui, mas tenho uma base de dados rodando a 500mb por intervalo de 15 minutos (fazemos backup disso a cada 50 minutos) e o log tx é de 400gb para o trabalho ETL ocasional. Custa-me literalmente centavos em comparação com o problema e a perda de desempenho do arquivo em crescimento (assim como a confusão interna que você causa). O crescimento automático é APENAS adequado para "bancos de dados pequenos de baixo custo".

It should be noted that there is also a backup maintenance plan to be performed 2 times a day and the logs should automatically be truncated (as opposed to shrinking).

Com o modo de revcovery simples, eles são praticamente truncados em todos os pontos de verificação. Leia o que você configurou.

    
por 29.09.2014 / 18:54