Parece haver uma infinidade de informações sobre o processo de configuração de tarefas de backup, mas não há muitas informações sobre a visão geral dos backups de banco de dados. Pelo menos, é difícil formular uma consulta de 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 de Banco de Dados
- Backups de log de transações
Parece que devo usar todos os três. Então, este é 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, digamos, no dia 12, eu apenas restauraria o backup completo do banco de dados do dia 1, faria os 12 backups diferenciais do dia 1 ao 12 e, finalmente, restauraria o log de transações mais recente (são o diferencial dos logs de transação?).
Finalmente, um backup de banco de dados completo é 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, eu manteria alguns sets dos meses anteriores por precaução, mas a questão é conceitual.
Como tudo no SQL Server, depende.
A primeira coisa que você precisa fazer é entender o que cada tipo de backup faz.
Books Online tem todos os detalhes pegajosos , mas aqui está meu resumo.
Um backup COMPLETO contém tudo dentro do banco de dados. Um backup DIFERENCIAL é cumulativo, NÃO incremental. No seu exemplo, se seu banco de dados falhou no dia 12, você só precisa restaurar o backup completo do dia 1 e, em seguida, o diferencial mais recente no dia 12, seguido por todos os backups do log de transações até a falha. Um backup de LOG DE TRANSAÇÕES só é necessário para bancos de dados que usam o modelo de recuperação full ou bulk-logged. 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... Projetar um agendamento de backup realmente depende da quantidade de dados que você precisa recuperar e da rapidez com que precisa recuperá-los no caso de um desastre. Eu recomendaria começar com um backup completo todos os dias. Você sempre pode reduzir a frequência mais tarde. Lembre-se de que o backup diferencial é cumulativo desde o último completo, portanto, dependendo da quantidade de alterações em 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, talvez não precise 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 de log determinará quantos dados você deseja perder em caso de falha. Se você executar o backup de log a cada 15 minutos, então 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 seu agendamento de backup, lembre-se de testá-lo em um servidor alternativo. Pratique a restauração de seus backups completos, de comparação e de log para que você saiba que tudo funciona como você projetou.
Books Online tem algumas informações boas se você planeja usar planos de manutenção, mas se você realmente deseja flexibilidade, verifique os scripts de backup de Ola Hallengren .