locked
Backup Incremental - Full RRS feed

  • Pergunta

  • Bom dia,

    Atualmente meu backup diário da empresa é FULL, mas está consumindo em média 4 GB.
    Pensei em fazer um backup FULL aos domingos e incremental ao longo da semana.

    O job que roda o backup full é a noite, de forma que quando chego na empresa pela manhã renomeio o arquivo de acordo com a data (ex: 10122008.bak) e jogo em um HD externo que dali vai para a fita depois.

    Sei que o incremental guardas as informações a partir do último FULL gerado, porém minha dúvida reside no fato de eu alterar o nome do backup FULL. Ou seja, ao renomeá-lo, não corro o risco do proximo diferencial perder o "vínculo" com o último FULL efetuado? Ou ele é vinculado ao último FULL efetuado de outra maneira que não o nome (o que imagino que seja)?


    Aproveitando, mais uma duvidazinha, na mesma situacao acima: supondo que tenho o 10122008.bak (que é o full do dia 10/12/2008) e o 11122008inc.bak(incremental do dia 11/12/2008). Para restaurar a base completa, devo primeiro restaurar o 10122008.bak e após restaurada, restaurar o incremental 11122008inc.bak, certo? Alguma observacao a mais ?

    Obrigado, e caso a dúvida tenha sido feita em outros posts, peço desculpas, pois efetuei pesquisas que não foram satisfatórias.

    Rodrigo

    quarta-feira, 10 de dezembro de 2008 13:43

Respostas

  • Olá Rodrigo, Vc pode sim renomear o arquivo de backup, isso não tem influência em o SQL gerar uma nova referência para os novos backups Incrementais, o SQL Server quarda essas referências em uma tabela chamada backupset no MSDB.

     

    E com relação a outra dúvida, sim, o procedimento de restore que vc falou está correto.

      

    quarta-feira, 10 de dezembro de 2008 14:19
  • Mais uma vez muito obrigado pelos esclarecimentos Emanuel!
    quarta-feira, 10 de dezembro de 2008 16:06

Todas as Respostas

  • Olá Rodrigo, Vc pode sim renomear o arquivo de backup, isso não tem influência em o SQL gerar uma nova referência para os novos backups Incrementais, o SQL Server quarda essas referências em uma tabela chamada backupset no MSDB.

     

    E com relação a outra dúvida, sim, o procedimento de restore que vc falou está correto.

      

    quarta-feira, 10 de dezembro de 2008 14:19
  • Outra coisa, Rodrigo, como vc colocou no exemplo apenas um backup Diferencial o procedimento está correto, ou seja restaura o último backup full e em seguida o  último Diferencial, independente se existem vários diferenciais, pois, cada backup diferencial é sempre o acumulo de todas as alterações existentes no banco desde o último backup full.

     

    Não se confunda com os tipo de backup existentes no Windows e no SQL Server.

     

    Os tipos de backups existentes no SQL Server são FULL, DIFERENCIAL e LOG.

     

    O incremental ao que vc se refere é do Windows, não existe no SQL Server. Os conceitos são os mesmos, mas se vc quizer realizar um controle maior do restore, vc pode optar pelo backup de LOG do SQL, pois, ele lhe proporcionará restaurar o último backup full, o último diferencial e todos os backups de logs existente na sequencia, até um ponto X.

    Por exemplo, digamos que vc queira restaurar o database na posição de ontem dia 09/12/2008 às 13:55. Com os backups de log, vc pode restaurar os backups de log e usar um restore chamado "point in time" e restaurar na posição que vc deseja, mas isso, já é um recurso refinado, e depende da necessidade da criticidade do teu negócio. 

     

    Se por acaso, vc optar por realizar os backups pelo utilitário NTBACKUP do Windows e fazer backups dos arquivos do banco(*.mdf e *.ldf)  aí sim vc tem o conceito de backups NORMAl(FULL), INCREMENTAL, DIFERENCIAL

    onde:

    NORMAL - É o full que conhecemos.

    INCREMENTAL - É só o incremento das alterações existente desde o último backup, então nesse caso vc deve restaurar o backup full + todos os incrementais existentes desde o último backup full.

    DIFERENCIAL - É o acumulo de todas as alterações existentes desde o último full,ou seja, neste caso basta vc restaurar o full e o último backup diferencial.

     

     

    Caso vc queira uma forma de automatizar o seu backup, dá uma olhada no meu blog, eu criei um script bem legal, onde vc pode criar uma procedure e adicionar um job SQL para chamar a procedure com alguns parâmetros que vc pode definir onde armazenar os arquivos de backup, o tipo de backup(full, differential ou log) e também tem como vc configurar um período de expurgo de backups antigos.

    http://emanuelmcdba.spaces.live.com/blog/cns!E634CAFF4AFF243D!686.entry

     

     

    quarta-feira, 10 de dezembro de 2008 15:02
  • Mais uma vez muito obrigado pelos esclarecimentos Emanuel!
    quarta-feira, 10 de dezembro de 2008 16:06