O que é um bom agendamento de backup do SQL Server?

17

Parece haver uma infinidade de informações sobre o processo de configuração de tarefas de backup, mas poucas informações sobre a visão geral dos backups de bancos de dados. Pelo menos, é difícil formular uma consulta no mecanismo de pesquisa que forneça essas informações. Eu sei que existem três tipos diferentes de backups:

  • Backups completos do banco de dados
  • Backups diferenciais do banco de dados
  • Backups do log de transações

Parece que eu devo usar todos os três. Então, esse é um cronograma que faz sentido?

  • 1º de cada mês - faça umbackup completo do banco de dados.
  • Todos os dias à meia - noite - Faça umbackup diferencial do banco de dados.
  • A cada 15 minutos - Faça umbackup do log de transações .

Dessa forma, se meu banco de dados falhar, por exemplo, no dia 12, eu restauraria o backup completo do banco de dados a partir do 1º, faria os 12 backups diferenciais do 1º ao 12º e, finalmente, restauraria o log de transações mais recente (são a transação registra diferencial?).

Por fim, um backup completo do banco de dados é independente? ou seja, depois de fazer um backup completo do banco de dados em 1º de fevereiro, posso excluir todos os arquivos de janeiro? É claro que eu manteria alguns jogos dos meses anteriores por precaução, mas a questão é conceitual.

atanamir
fonte

Respostas:

23

Como em tudo no SQL Server, isso depende.

A primeira coisa que você precisa fazer é certificar-se de entender o que cada tipo de backup faz.

O Books Online tem todos os detalhes pegajosos , mas aqui está o meu resumo.

Um backup COMPLETO contém tudo dentro do banco de dados. Um backup DIFERENCIAL é cumulativo, NÃO incremental. No seu exemplo, se o seu banco de dados falhar no dia 12, você só precisará restaurar o backup completo do 1º e, em seguida, o diferencial mais recente no dia 12, seguido de todos os backups do log de transações até a falha. Um backup do TRANSACTION LOG é necessário apenas para bancos de dados usando o modelo de recuperação completo ou com registro em massa. Se você estiver usando o modelo de recuperação simples, os backups do log de transações não serão necessários.

Agora que esclarecemos isso ... A criação de um agendamento de backup realmente depende da quantidade de dados que você precisa recuperar e com que rapidez é necessário recuperá-lo no caso de um diaster. Eu recomendaria começar com um backup completo todos os dias. Você sempre pode reduzir a frequência posteriormente. Lembre-se de que o backup diferencial é cumulativo desde o último total, portanto, dependendo da quantidade de alterações acontecendo no seu banco de dados, o diferencial pode ser maior que o backup completo após alguns dias. Se você fizer um backup completo todos os dias, poderá não precisar usar diferenciais; no entanto, você ainda pode fazê-lo uma vez por dia e agendá-lo às 12 horas. O backup do log de transações faz backup apenas do log. A frequência do backup do log determinará a quantidade de dados que você deseja perder no caso de uma falha. Se você executar seu backup de log a cada 15 minutos, você esperaria perder até os últimos 15 minutos de dados alterados. 15 minutos é uma boa frequência, mas a cada 30 minutos funciona perfeitamente para o meu ambiente.

Como eu disse anteriormente, tudo depende do seu ambiente. Depois de projetar e configurar sua agenda de backup, lembre-se de testá-la em um servidor alternativo. Pratique a restauração de backups completos, diferenciais e de log para que você saiba que tudo funciona como você o projetou.

O Books Online tem boas informações se você planeja usar Planos de Manutenção, mas se você realmente deseja flexibilidade, consulte os scripts de backup de Ola Hallengren .

Patrick Keisler
fonte
Obrigado pela ótima resposta. Eu tenho uma pergunta menor para você - você reconstrói / reorganiza seus índices também antes dos backups completos?
Atanamir
Sim, antes dos backups completos, é uma boa ideia. Dessa forma, se o seu banco de dados falhar, o backup completo já conterá todas as alterações na reindexação.
Patrick Keisler
Na maioria dos casos, ainda é possível fazer backup do log de cauda ativo após a falha, portanto a exposição à perda de trabalho é mínima, mesmo se você fizer backup apenas do log diariamente. Dito isto, geralmente não há razão para não fazer backup com frequência.
SoonDead