AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 917
Accepted
Greg B
Greg B
Asked: 2011-01-27 08:50:47 +0800 CST2011-01-27 08:50:47 +0800 CST 2011-01-27 08:50:47 +0800 CST

Prós e contras das estratégias de backup do SQL Server e seus cenários de uso apropriados

  • 772

Pelo que posso dizer, existem três maneiras possíveis de fazer backup do banco de dados do SQL Server

  1. backup completo
  2. backup diferencial
  3. Log de envio

Quais são os prós e contras de cada estratégia e em que situações devem ser empregadas?

sql-server backup
  • 7 7 respostas
  • 6798 Views

7 respostas

  • Voted
  1. Best Answer
    Mladen Prajdic
    2011-01-27T09:45:40+08:002011-01-27T09:45:40+08:00

    O envio de logs não é um cenário de backup. É um cenário de disponibilidade semi alta.
    Para backups, há backups completos, diferenciais e de log de transações. Todos eles devem ser usados ​​juntos. Seu SLA determina como você os usa. A maioria dos cenários típicos são backups completos, digamos, à meia-noite, backups diferentes ao meio-dia e backups de log de transações a cada 30 ou 15 minutos.

    E lembre-se: você não tem um backup válido até restaurar dele para testar se está tudo bem.

    • 15
  2. gbn
    2011-01-27T11:02:36+08:002011-01-27T11:02:36+08:00

    Indiscutivelmente, não existe um conceito como uma estratégia de backup: você tem uma estratégia de restauração porque isso determina quanto tempo até que você volte a funcionar*.

    Todas as estratégias requerem um backup completo para basear quaisquer restaurações subsequentes de backups diferenciais e/ou de log.

    Na prática, você pode ter um backup completo de 6 meses atrás com backups de log de 15 minutos: no entanto, você deve aplicar todos os backups de log desde o último completo.

    Como um exemplo aleatório, um cenário pode ser completo semanalmente, diferencial diário, log de 15 minutos.

    O intervalo de backup determina quantos dados você perderá no pior caso: backups de log de 15 minutos fornecem uma perda de dados entre 1 segundo e 14 minutos e 59 segundos, média de 7,5 minutos. Isso é aceitável?

    O envio de logs é uma espera passiva com failover manual: não é um backup, mas uma opção de alta disponibilidade.

    • 6
  3. Matt M
    2011-01-28T05:42:12+08:002011-01-28T05:42:12+08:00

    Não existe uma estratégia que se encaixe em todas as situações. Mas é importante entender o que você tem disponível para você. Os backups completos são exatamente o que parecem: um backup completo do seu banco de dados, menos o log de transações. Backups diferenciais são backups de alterações nos arquivos de dados desde o último backup completo. Os backups do log de transações farão backup de todas as transações armazenadas no log de transações desde o último backup do log de transações. Os backups do log de transações permitirão que você restaure para um ponto no tempo. Se isso for um requisito, você precisará definir o modo de recuperação como "Full" e fazer backups regulares do log de transações, dependendo da quantidade de dados que deseja perder no caso de uma situação de recuperação.

    Ao lidar com backups de log de transações, é importante entender o que é uma cadeia de log. Em minhas palavras, uma cadeia de log é a série de backups que precisam ser restaurados para restaurar seu banco de dados em um determinado ponto no tempo. Para começar a restaurar logs de transações, você deve primeiro restaurar um backup completo usando a opção WITH NORECOVERY. Se você também executar backups diferenciais, deverá restaurar o backup diferencial mais recente antes do ponto no tempo para o qual deseja restaurar usando a mesma opção WITH NORECOVERY. Neste ponto, você precisará restaurar os backups do Transaction Log, sequencialmente, usando a opção WITH NORECOVERY em todos os backups, exceto o backup final. Para obter mais informações sobre restaurações pontuais, confira este link. http://msdn.microsoft.com/en-us/library/ms175093.aspx

    Conforme mencionado, o Log Shipping não é uma estratégia de backup, mas pode reduzir significativamente o tempo de restauração no caso de uma situação de recuperação de desastre. Uma pegadinha a ser observada é que todas as publicações de replicação precisarão ser roteirizadas para o servidor Log Shipping e inicializadas para que a replicação funcione como antes do desastre. Com publicações maiores, isso pode causar um aumento significativo no tempo necessário para restaurar o nível de produção.

    Espero que isto ajude,

    Matt

    • 4
  4. Nomad
    2011-01-27T10:23:03+08:002011-01-27T10:23:03+08:00

    Eu segundo Mladen Prajdic. Este artigo ajudará você a escolher a estratégia de backup correta, dependendo do modelo de recuperação dos bancos de dados.

    • 2
  5. Marian
    2011-01-27T10:23:33+08:002011-01-27T10:23:33+08:00

    essas não são estratégias de backup para o SQL Server. Backups completos e diferenciais são tipos de backups que você pode fazer em um banco de dados SQL Server, enquanto Log Shipping é uma estratégia de Alta Disponibilidade (movendo backups de log em um horário agendado de um servidor para outro e sincronizando esses 2 bancos de dados até o limite de seus backups).

    Boas informações sobre Disaster Recovery (backup e restauração :-)) você pode encontrar no MSDN: aqui e aqui . Resumindo, você precisa escolher a quantidade de dados que pode recuperar dos backups em caso de falha. Uma amostra sensata de estratégia de backup seria um backup completo todos os dias e backups de log a cada hora (isso depende de suas necessidades), portanto, neste caso, você seria capaz de restaurar o banco de dados do backup completo + todo o backup de log diário.

    Outra boa referência sobre DR você pode encontrar em Simple_Talk .

    • 2
  6. Samuel Druker
    2011-02-01T12:27:32+08:002011-02-01T12:27:32+08:00

    Obviamente, você não precisa apenas restaurar seu banco de dados, mas também recuperar o contexto do servidor e do aplicativo do qual o banco de dados faz parte. Ainda não usei, mas o Data Protection Manager procura fazer um trabalho mais abrangente, se você precisar.

    • 1
  7. Alexandr Omelchenko
    2016-09-10T05:25:20+08:002016-09-10T05:25:20+08:00

    A melhor maneira é usar todos os três tipos de backups juntos. Obviamente, você pode ignorar o backup diferencial do backup do log de transações. Tudo depende do seu banco de dados, quão rápido ele cresce, com que frequência você faz alterações em seu banco de dados e outros. Antes de escolher seu plano de backup, considere quantos dados você está disposto a perder? Quanto tempo você está disposto a gastar para recuperar seu banco de dados?

    Por exemplo, se seu banco de dados crescer rapidamente, você pode usar a seguinte estratégia de backup do SQL Server: backup completo - uma vez por dia, backups diferenciais - a cada duas horas e backups de log de transações - a cada 20 minutos. Nesse caso, se ocorrer a falha, você não perderá mais de 19 minutos do seu trabalho. Outro exemplo, se o seu banco de dados crescer lentamente, você pode executar um backup completo uma vez por dia, backup diferencial a cada seis horas e fazer backup do log de transações a cada hora.

    Mais uma dica - para ter certeza de que seu banco de dados está seguro, de vez em quando restaure seus backups em um servidor de teste.

    • -1

relate perguntas

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve