locked
Backup do SQL - MDF E LDF RRS feed

  • Discussão Geral

  • Boa noite pessoal,

    Pode ser simples para vocês, mas mesmo pesquisando bastante não consegui entender.

    Estou com dúvidas para implementar uma nova rotina de backup na base de dados da empresa.

    A base principal tem cerca de 140GB e meu arquivo LDF está com 4GB. Esse arquivo em momentos varia até 36GB.

    Bom, se eu fizer o backup (.bak) da minha base de dados e o servidor "morrer", ter que restaurar em outro servidor, terei perda de dados? Ou o restore é completo, igual estava no momento do backup?  

    - Caso tenha perda, devo fazer o backup do LDF? Em qual momento (após o backup do servidor?)? 

    Essas dúvidas me incomodam e não estão claras para mim. Se alguém puder ajudar.

    Obrigado

    segunda-feira, 14 de novembro de 2016 23:36

Todas as Respostas

  • Olá,

    Vou tentar resumir. Quando você faz backup das suas bases de dados, você tem basicamente três opções.

    1) Full: Gera um .bak que possui o estado atual do seu banco de dados e ele sozinho pode ser restaurado, voltando como estava até o momento que o backup foi feito;

    2) Incremental: Gera um arquivo com todas as modificações feitas desde o último backup que foi realizado (Caso seja o primeiro backup, ele será um backup Full, pois não tem base de comparação).

    3) Transaction Log: Gera um arquivo com todas as transações realizadas na base desde o último backup, afim de remontar todas as operações feitas em determinado período.

    Um especialista em SQL Server pode dar certeza e mais detalhes dessas informações, mas basicamente é isso.


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 15 de novembro de 2016 00:52
  • Chaves,

    o restore do backup FULL (completo) ira deixar seu database 100% consistente com a posicao do momento do inicio do backup.

    Como sua base eh grande, estes 140GB devem levar no minimo 1h para executar o backup, voce nao vai ficar rodando a rotina de backup durante o dia.

    Entao, o que voce precisa eh realizar pequenos backups durante o dia, com intervalos de 15 minutos, por exemplo, para diminuir ao maximo seu RPO (ponto de restauracao).

    Resumindo entao, o que voce precisa:
    - alterar o modo de recovery do seu database para FULL;
    - realizar um backup FULL durante seu horario de menor utilizacao (madrugada por exemplo);
    - realizar backup do LOG a cada 15 minutos.

    Em caso de desastre, no momento da restauracao, voce restaura o ultimo backup FULL, e vem restaurando os backups do LOG ate o ultimo horario desejado.

    Abcs.

    Pericles Sevegnani

    http://blogsqlserver.blogspot.com.br/
    quarta-feira, 16 de novembro de 2016 02:02
  • Pessoal, entendi.

    Porém, vamos dizer que eu faça apenas o FULL 1x por dia: 

    Eu só precisaria dele para restaurar certo?

    E quando eu faço o FULL, o LOG zera então? Pelo que entendi da resposta do Pericles.

    Se meu servidor morre, eu tenha que subir em outro servidor, o .bak seria suficiente?

    Muito obrigado!

    Atc,

    Lucas Chaves.

    sábado, 26 de novembro de 2016 13:04
  • Lucas,

    Resumindo, se você faz um bkp FULL o .bak resolve sua vida (Conseguindo recuperar uma versão até o momento que o bkp foi feito). As outras alternativas de bkp são para não ter sempre um bkp enorme (então é feito o incremental) e as transactions são bkps feitos mais frequentemente afim de conseguir restaurar o bkp sem perder quase nenhum dado (já que é feito muito mais vezes)


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    sábado, 26 de novembro de 2016 13:55
  • Deleted
    sábado, 26 de novembro de 2016 15:39
  • Olá,

    Se o .bak full seria suficiente para restaurar até o momento que o fiz (por exemplo o dia anterior)- não sendo necessário fazer o do log. Pois se é full, creio que deve ser suficiente para isso. Certo? Isso em um servidor novo ou no mesmo.

    Li os dois artigos, creio que entendi e foi conforme o pessoal comentou acima:

    - Se eu fizer um FULL diariamente, durante a noite/madrugada, eu posso fazer backups dos Logs por exemplo, a cada 3 horas, isso seria suficiente para restaurar  no momento do Último log, certo? - Isso tanto no mesmo servidor, como em um servidor novo (caso o principal morresse)?

    Para esse caso acima eu precisaria do FULL e de todos os bkps de LOGS até o último feito, certo?

    Então, isso quer dizer que os logs "zeram" ao fazer um bkp FULL? 

    Desde já, deixo meu muito obrigado a todos que estão participando deste tópico, e sei que servirá para tirar as mesmas dúvidas de muitos outros. 

    Atc,

    Lucas

    domingo, 27 de novembro de 2016 21:28
  • E a última coisa pessoal,

    Verifiquei que meu banco estava definido no modelo de recuperação simples. 

    Alterei para o completa, vou começar a fazer 1 full diario e logs a cada 3 horas.

    Porém, se estiver no modelo de recuperação COMPLETA, tendo apenas o .bak do FULL, seria suficiente para restaurar no ponto de quando foi feito o FULL? 

    Obrigado,

    Atc,

    Lucas Chaves

    domingo, 27 de novembro de 2016 22:10
  • Deleted
    segunda-feira, 28 de novembro de 2016 09:33
  • Deleted
    segunda-feira, 28 de novembro de 2016 09:41