locked
Backup de logs de transações do SQL SERVER 2008 R2 RRS feed

  • Pergunta

  • Boa tarde pessoal, eu configurei o backup de logs de transações do sql server 2008 R2, mas pensei que fazendo o backup deste o .ldf seria reduzido e não foi o que aconteceu. Como configuro para que o backup seja feito e o arquivo de log original tenha seu tamanho reduzido?

    Quero backupear as informações do arquivo de log e manter o .ldf original sempre em um tamanho pequeno para que não ocupe muito espaço em disco.

    Agradeço desde já à todos =)



    segunda-feira, 9 de março de 2015 17:55

Respostas

  • Bruna,

    Para diminuir o tamanho do arquivo de LOG após o backup você pode utilizar o shrink (olhe os links no meu post anterior).

    Se o seu log chegar a 10 GB nenhuma transação (exceto SELECTS)  poderá ser feita na sua base até que você libere espaço do LOG, já que as transações são gravadas no seu LOG quando o recovery model está como FULL.

    A sua base é de produção? Se sim você precisa avaliar o quanto pode perder de informação no caso de algum desastre. Em alguns dos meus ambientes temos backup de log de 10 em 10 minutos. Em outros o backup é feito de 1 em 1 hora. 
    E junto com os backups de LOG temos um diferencial diário e um FULL semanal.

    Se você realmente precisa de um por dia apenas, não importando a perda de dados desse dia inteiro no caso de desastre, recomendo que faça um FULL e coloque seu banco como recovery model = simple. Assim seu log não irá crescer dessa maneira durante o dia.

    Mas verifique certinho, porque o recomendado mesmo é ter backup de log no menor intervalo possível para um ambiente que sofre alterações constantes.

    Me descreva melhor seu ambiente e suas necessidades.

    Espero estar ajudando.



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    terça-feira, 10 de março de 2015 16:36

Todas as Respostas

  • Bruna, boa tarde

    Qual a periodicidade do backup de log?
    Qual o tamanho inicial dele e o que ele está quando você faz o backup?

    Estou perguntando isso porque se toda vez que você fizer o backup, alterar o tamanho do arquivo, toda vez ele terá que crescer.

    Exemplo: meu log está com 1 GB. Quando vou fazer o backup ele tem 10 GB. Faço o backup e diminuo ele pra 1GB de novo.

    No decorrer das transações feitas na base esse log aumenta para 10Gb novamente até o próximo backup.

    Esse aumento de 1Gb para 10 GB todo o tempo é custoso e onera seu ambiente.

    Avalie melhor essa estratégia, mas se quiser diminuir mesmo, você pode usar o comando SHRINK

    https://msdn.microsoft.com/pt-br/library/ms190488.aspx

    https://sqlfromhell.wordpress.com/2010/10/04/log-gigante/

    Espero ter ajudado


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 9 de março de 2015 20:38
  • Boa tarde Mariana,

    Queria fazer o backup todo o dia para manter pelo menos um backup dos logs de transações guardado caso ocorra algum problema durante o dia.O tamanho inicial do que eu configurei aqui para testes é de 2 GB com aumento restrito até 10 GB.

    Como ele tem, inicialmente, 2 GB acredito que até à tarde ele alcance os 9 GB. Queria fazer o backup no meio da tarde para que ele volte aos 2 GB iniciais e manter esse .bak dele de 9 GB em um local fácil para emergências apenas.A minha dúvida é: Consigo diminuir o tamanho desse arquivo de logs para o seu tamanho original somente tirando um .bak dele? Porque fiz isso e o arquivo continua com 9 GB. Uma pergunta: O que acontece quando o meu arquivo de logs chegar aos 10 GB que, no caso, é o limite dele?

    Qual a melhor estratégia para uma idéia como a minha na sua opinião? Desculpe, conheço pouco dos recursos do SQL SERVER por isso tantas perguntas.

    Obrigada pela ajuda! =)



    terça-feira, 10 de março de 2015 15:31
  • Bruna,

    Para diminuir o tamanho do arquivo de LOG após o backup você pode utilizar o shrink (olhe os links no meu post anterior).

    Se o seu log chegar a 10 GB nenhuma transação (exceto SELECTS)  poderá ser feita na sua base até que você libere espaço do LOG, já que as transações são gravadas no seu LOG quando o recovery model está como FULL.

    A sua base é de produção? Se sim você precisa avaliar o quanto pode perder de informação no caso de algum desastre. Em alguns dos meus ambientes temos backup de log de 10 em 10 minutos. Em outros o backup é feito de 1 em 1 hora. 
    E junto com os backups de LOG temos um diferencial diário e um FULL semanal.

    Se você realmente precisa de um por dia apenas, não importando a perda de dados desse dia inteiro no caso de desastre, recomendo que faça um FULL e coloque seu banco como recovery model = simple. Assim seu log não irá crescer dessa maneira durante o dia.

    Mas verifique certinho, porque o recomendado mesmo é ter backup de log no menor intervalo possível para um ambiente que sofre alterações constantes.

    Me descreva melhor seu ambiente e suas necessidades.

    Espero estar ajudando.



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    terça-feira, 10 de março de 2015 16:36