none
Backup de Log RRS feed

  • Pergunta

  • Pessoal, bom dia. Eu sei que essa pergunta deve ser idiota, mas vamos lá. rsrs Criei um plano de backup, que cria um arquivo.bak para cada dia da semana. Porém após criar esse plano que me dei conta que esse banco está setado como FULL. Então vou precisar gerenciar os backups de log para que não haja um crescimento exagerado do mesmo. A minha dúvida é: Como é criado um arquivo diferente para cada dia, terei de fazer um backup de log para cada dia, é isso mesmo? Para ficar mais fácil de entender esse é o inicio do comando que estou utilizando para o backup, que alias peguei aqui no fórum: declare @Dia int select @Dia = DATEPART (weekday ,getdate()) if @Dia = 1 begin backup database BANCOTESTE to disk = 'D:\backupsql\backup_domingo.bak' if @Dia = 2 begin backup database BANCOTESTE to disk = 'D:\backupsql\backup_segunda.bak'.....
    Vinicius Souza
    quinta-feira, 14 de julho de 2011 14:01

Respostas

  • Vinicius,

     

    Sim, pois para se restaurar um backup de log, é necessario que seja feito previamente o restore do ultimo backup full (A menos que este backup tenha sido feito com a opção copy-only, que não é o caso), então se a sua ideia é manter o backup de log diario tambem para poder por exemplo restaurar em point in time por exemplo, como eu faria seu plano de manutenção:

    Primeiro backup de log

    Depois Backup Full

     

    Pois assim, o backup de log retirado hoje, seria do backup full retirado ontem, como pelo jeito voce guarda todos os backups, seria possivel amanha por exemplo, voltar a base ao meio dia de hoje. Alem de ter os dados atualizados completos pelo Backup Full

    Mas só vejo utilidade neste backup de log diario se a sua interção for restore in time, se não, não creio que ele tenha muita utilidade, principalmente pelo fato do backup full.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 14 de julho de 2011 14:56
    Moderador

Todas as Respostas

  • Vinicius,

     

    Normalmente backup de log são feitos em intervalos muito menores, exemplo, de 10 em 10 minutos, e não diariamente, para isso voce ja possui o full.

    Se voce não possui nenhuma solução de alta disponibilidade como log shipping por exemplo, e ja realiza os backups full, e em caso de falha é aceitavel perder algumas horas (Maximo 1 dia, diferenca entre um backup full e outro), não creio que seja necessario recovery model full, pode deixar no simple.

    Agora, se não é aceitavel perda nenhum, coloque backups de log para ocorrer por exemplo de 15 em 15 minutos, fazendo backup de log diariamente, voce não tem ganho nenhum.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 14 de julho de 2011 14:04
    Moderador
  • Olá Fabrizzio, desculpe mas talvez você não tenha entendido minha dúvida. Eu sei que o backup de log deve ser realizado várias vezes por dia. O que quero dizer é o seguinte: Como tenho um backup full para cada dia. Se criar o backup de log terei que criar um backup de log para cada backup full? Por exemplo: backupdelogsegunda, backupdelogterça e assim por diante no comando sql, teria que fazer a mesma lógica do citado anteriormente? if @Dia = 1 begin backup log ...... backuplogsegunda.trn if @Dia = 2 begin backup log ...... backuplogterca.trn
    Vinicius Souza
    quinta-feira, 14 de julho de 2011 14:48
  • Vinicius,

     

    Sim, pois para se restaurar um backup de log, é necessario que seja feito previamente o restore do ultimo backup full (A menos que este backup tenha sido feito com a opção copy-only, que não é o caso), então se a sua ideia é manter o backup de log diario tambem para poder por exemplo restaurar em point in time por exemplo, como eu faria seu plano de manutenção:

    Primeiro backup de log

    Depois Backup Full

     

    Pois assim, o backup de log retirado hoje, seria do backup full retirado ontem, como pelo jeito voce guarda todos os backups, seria possivel amanha por exemplo, voltar a base ao meio dia de hoje. Alem de ter os dados atualizados completos pelo Backup Full

    Mas só vejo utilidade neste backup de log diario se a sua interção for restore in time, se não, não creio que ele tenha muita utilidade, principalmente pelo fato do backup full.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 14 de julho de 2011 14:56
    Moderador
  • Obrigado pela resposta. Bom, vou verificar se é necessário o backup de log. Caso necessário, pensei em executar um backup pela manhã, antes do pessoal começar a utilizar o sistema, e após esse backup, realizar um backup de log de hora em hora até às 18hrs. O que você acha?
    Vinicius Souza
    sexta-feira, 15 de julho de 2011 13:29
  • Boa tarde vinícius

     

    Não sei o tamanho da sua base de dados, nem sua estratégia de recuperação, dependendo dessas informações você pode usar uma estratégia utilizando os backups FULL, DIFF e de Log.

     

    Por exemplo

    FULL - Um Semanal

    DIFF - Um Diário

    LOG - A cada Hora

     

     

     

    Espero ter ajudado


    Anderson - DBA/MCP/MCTS/MCITP/MCT - Sua pergunta foi respondida ? Marque-a como tal! www.myspace.com/andersondpa
    sexta-feira, 15 de julho de 2011 15:39
  • Anderson, eu estou realizando um backup full para cada dia da semana. Mas vamos dizer que altere para essa estratégia que você mencionou. É preciso o backup diff no meio? Não posso apenas criar um Full Semanal e backups de log até o próximo backup Full?
    Vinicius Souza
    sexta-feira, 15 de julho de 2011 17:24
  • Vinicius,

     

    Apenas para agregação de informação, em relação a estrategia passada pelo Anderson, pode sim realizar apenas os de log, porem existem alguns problemas nisso:

    - Muitos arquivos a serem gerenciados

    - Em caso de falha, voce precisara restaurar todos os de log, vamos supor que seu backup full é realizado no sabado a noite, se sua base falhar a 1h antes do backup full, voce teria que restaurar 5 (dias) * 24 (Backups de log por dia) = 120 backups antes de subir a sua base!

    Agora, com a realização do backup diferencial, voce levaria muito menos, pois na pior das hipoteses, restauraria o da sexta, e depois os de log tirados no sabado, mas lembre-se de guardar backups anteriores, não é por que foi feito um diferencial que os backups de log e diferenciais anteriores podem ser jogados fora, talvez voce precise voltar a sua base em algum dia da semana por exemplo, e isso só podera ser feito nesta estrategia a partir dos backups diferenciais + log


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 19 de julho de 2011 13:17
    Moderador