DBs grandes de remessa de log - e o log?

8

No momento, estou configurando o envio de log de um grande banco de dados (aproximadamente 1,5 TB) e estou pensando no que posso fazer sobre o arquivo de log.

Tal como está, pretendo executar os seguintes passos:

  1. Alterar banco de dados para recuperação total
  2. Faça backup COMPLETO (5-6 horas) no primário
  3. Restaurar backup COMPLETO para secundário (deixando em NORECOVERY)
  4. Faça backup DIFF no primário
  5. Restaurar backup DIFF para secundário (ainda em NORECOVERY)
  6. Inicialize o envio de logs usando 'O banco de dados já foi inicializado'

O problema é que, enquanto eu estiver executando o backup completo, o arquivo de log será preenchido mais rapidamente do que os backups.

Quais são as opções que tenho para impedir o preenchimento do arquivo de log? Posso apenas fazer backups de log normalmente durante os backups COMPLETOS, pois a restauração DIFF cobre todas as transações que ocorrem durante esse período? Alguém já fez isso antes com um banco de dados desse tamanho, dicas / truques para facilitar?

Kris Gruttemeyer
fonte

Respostas:

9

Se o entendi corretamente, seu principal problema são os arquivos de log durante as várias horas de backup. Pela sua declaração de abertura, entendo que o banco de dados de 1,5 TB normalmente é executado na recuperação SIMPLE e, portanto, não há backups de log.

Isenção de responsabilidade: nunca fiz o envio de logs nessa escala.

Obviamente, você deve perguntar se pode obter mais espaço alocado para seus arquivos de log. Se você pode, então ótimo.

No entanto, acho que uma pequena modificação do seu plano, desde que você já execute no modelo de recuperação SIMPLE e / ou o risco do modelo de recuperação SIMPLE por algumas horas, valha a pena, aliviaria algumas de suas preocupações.

  1. Mantenha (ou defina) banco de dados no modelo de recuperação SIMPLE.
  2. Faça backup COMPLETO (5-6 horas) no primário
  3. Restaurar backup COMPLETO para secundário (deixando em NORECOVERY)
  4. Definir banco de dados no modelo de recuperação COMPLETO
  5. Faça backup DIFF no primário
  6. Restaurar backup DIFF para secundário (ainda em NORECOVERY)
  7. Inicialize o envio de logs usando 'O banco de dados já foi inicializado'

As vantagens aparentes são:

  1. Nenhum arquivo de log para backup durante o backup COMPLETO grande.
  2. Alternar para COMPLETO antes de iniciar o backup DIFF fornecerá o log necessário para começar e seu crescimento mais longo provavelmente ocorrerá durante o backup DIFF.

Em relação a quando um backup de log pode ser iniciado:

https://technet.microsoft.com/pt-BR/library/ms190729(v=SQL.105).aspx

Isso diz: "Uma nova cadeia de logs inicia com o primeiro backup completo do banco de dados após a criação do banco de dados ou após a mudança do modelo de recuperação simples para o modelo de recuperação completo ou com registro em massa".

Então, ainda acredito que isso funcionará conforme descrito. (Não é idêntico, mas usei um backup diferencial para cobrir uma lacuna quando os arquivos de log foram perdidos, para estabelecer uma nova origem para os backups de log.)

(Lembre-se do meu aviso, é claro.)

RLF
fonte
Eu acho que parece que vai funcionar. Atualmente, estou fazendo o backup COMPLETO agora e apresentarei um relatório amanhã com os resultados. Obrigado pela ajuda RLF, marcarei como resposta assim que tudo estiver pronto, caso tenhamos uma etapa ou 2 para adicionar aos futuros leitores com esse problema.
Kris Gruttemeyer
Aguarde, a recuperação COMPLETA não é ativada até que o primeiro backup COMPLETO seja realizado? Gostaria de saber se a mudança para a recuperação completa após o primeiro backup completo não terá efeito, pois a recuperação completa não será ativada até após o primeiro backup.
Kris Gruttemeyer
@KrisGruttemeyer - post atualizado
RLF
Copie isso, vou relatar amanhã. Essa coisa ainda está fazendo backup.
Kris Gruttemeyer
Certifique-se de que você tem compactação de backup on ...
Rob Farley