Pergunta

Como uma continuação a esta questão Eu estou querendo saber o que o seu SQL servidor de backup / plano de manutenção é, e como eu posso fazer o meu melhor.

Atualmente eu estou correndo dois planos de manutenção liso-Jane do assistente plano.

As primeiras corridas noturnas e faz quase tudo ...

  • base de dados completa e backup do log de transações
  • verificação de integridade, reconstruir índice, estatísticas recalcular, etc. (eu verifiquei tudo, exceto backup incremental)

As outras corridas a cada três horas e faz um backup incremental (eu sou paranóico, eu sei que este é provavelmente um exagero).

Os backups são para o disco, backups completos são enviados para o SAN, retidos por uma semana.

O que você acha, este é um plano sensato? Alguma sugestão?

EDIT:. Este é o SQL Server 2005. DB é 5GB, cresce cerca de 1 GB / mês

Foi útil?

Solução

Parece muito bom. Estou mais paranóico. Eu faço dois backups completos diários e backups do log de transações por hora. Depende do tamanho do banco de dados ou curso. Os backups são feitos direto para o disco e, em seguida, backup em fita noturno.

Você provavelmente não precisa fazer as tarefas de manutenção a cada dia. Eu só fazê-las no fim de semana, exceto para esta mesa que reindexar todas as noites. Novamente, isto depende do tamanho e da atividade do banco de dados.

Se você tem CPU suficiente e espaço em disco que você pode fechar os backups em disco para economizar espaço e fazer a transferência para a fita ou em outro local mais rapidamente.

Outras dicas

Você deve estar falando com os seus usuários / clientes / guardiões de dados - o que você chamá-los. Eles precisam ter uma compreensão clara de quanto trabalho eles podem perder. Escreve-se um SLA se você não tiver um. Você não quer nenhum surpresas quando se trata de uma má notícia.

Eles também precisam entender que a restauração leva tempo. Você precisa planejar seu plano de recuperação para criar um tempo aceitável restauração. Isso pode significar um backup completo diário, 4 diferenciais e backups de log a cada 5 minutos. Isso não é louco ou paranóico como disse Marcus Erickson - tudo se resume às suas informações e o valor do dólar suas puts organização sobre ele.

Eu não acho que você é paraniod executando backups a cada 3 horas. Basicamente, o seu plano de backup tem de ser medido por suas necessidades de restauração. Quanto tempo você pode dar ao luxo de ser para baixo enquanto você se recuperar vs a quantidade de dados que você está disposto a perder antes que você está para baixo. Para o SQL Server, você pode reduzir a quantidade de dados que você está disposto a perder consideravelmente pela adição de backups do log de transações para o seu plano de backup. Muitas pessoas fazem isso a cada poucos minutos, dependendo da quantidade de transações que passam pelo sistema. Para fazer uma restauração que você acabou de restaurar o último completo, o último incremento e, em seguida, todos os backups do log de transações desde o incremental. Isto pode dar-lhe um mínimo de perda de dados, mas pode demorar um pouco whle de aplicar todos os backups do log de transações. Eu vejo o seguinte bastante regularidade: backups completos - Semanal backups incrementais - Nightly backups do log - a cada poucos minutos, dependendo dos requisitos (pode ser bom uma vez por hora etc)

Lembre-se de fazer firedrills onde você realmente tentar restaurar a partir de backups criados (para um sistema de teste). Isto deve ser feito, talvez uma vez por mês.

O mínimo que eu recomendo aos meus clientes é fazer um backup noturno cheio de banco de dados e, em seguida, uma cópia de segurança de transações a cada 3 horas. Espanta-me sempre quantas pessoas nunca configurar um backup. Aqueles são sempre chamadas ruins.

Na minha opinião, a melhor maneira é:

Faça o backup completo a cada 12 horas

BACKUP DATABASE database TO DISK = 'd:/full.bak'

Um backup diferencial a cada seis horas, no caso de falha torna mais fácil processo de restauração

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

e, claro, os backups do log de transações que são melhores para fazer a cada hora.

BACKUP LOG database TO DISK = 'log.bak'

Se o caso de fracasso do processo de recuperação será o próximo:

  • O último backup completo
  • O último backup diferencial
  • O último log de transações

Tem que se admitir que é melhor usar o modelo de recuperação completa para fazer ponto no tempo de recuperação disponível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top