Cadeia de Backups

Nesse post abordaremos os tipos de BACKUPs e estratégias para implantar backups. Como visto anteriormente nesse post, há diversas opções para personalizar seus backups/restores. Também veremos os tipos de RECOVERY MODEL, que são de extrema importância quando falamos de Backups.

Antes de iniciarmos a parte técnica e colocarmos a mão em código, primeiro vamos entender um pouco mais sobre os tipos de backup.

BACKUP FULL: Consiste em um Backup, como o próprio nome diz, Completo do Banco de Dados, com todos arquivos e dados do momento do backup. Esse tipo de restore é o mais simples para ser restaurado, porém o que mais ocupa espaço em disco.

BACKUP DIFF: É um backup feito como complemento ao último backup FULL existente. Grava tudo o que foi alterado desde o último backup FULL até o momento do backup DIFF. Devido a essa característica, ocupa muito menos espaço em disco e tempo de backup, pois não guarda o Banco de Dados por completo, apenas a DIFFerença. Para restaurar esse tipo de backup deve-se primeiro restaurar o Backup FULL, depois o Backup DIFF.

BACKUP LOG: É o backup do Log de Transações, não grava dados, apenas as transações que serão aplicadas no Banco de Dados. Sendo assim, o tamanho desse tipo de backup é muito pequeno, podendo assim ser executado com maior frequencia, sem afetar o ambiente. A cada vez que executa, trunca o Transaction Log do Banco de Dados.

Abaixo uma estratégia de backups com FULL, DIFF e LOG:

Pode-se ver que há a seguinte estrutura

FULL 1
      DIFF 1
           LOG 1
           LOG 2
      DIFF 2
            LOG 3
            LOG 4

... E assim por diante, conforme imagem abaixo.

Veja que para restaurar os Backup Logs, primeiro deve-se restaurar os DIFF que estão “acima” deles, e para restaurar esse DIFF, deve-se primeiro restaurar o FULL.

2

Agora falando um pouco de RECOVERY MODEL:

FULL: Esse Modelo de Recuperação grava toda e qualquer transação no arquivo de Transaction Log. Assim sendo, é possível implementar quaisquer estratégias de Backup, inclusive efetuar Restore Point-in-Time, ou seja, restaurar o Banco de Dados a qualquer momento específico no tempo, anterior ao backup.

BULK-LOGGED: Semelhante ao Modelo FULL, porém não grava por completo Log de Transação para instruções de: Index Creation, SELECT INTO, INSERT SELECT, BCP, BULK INSERT.

Tem melhor desempenho para BULK INSERT comparado ao Modelo FULL, e ocupa menor espaço em disco no Transaction Log. Não há suporte para Restore Point-In-Time.

Para este modelo, há uma recomendação da Microsoft de que se use o Modo de Recuperação FULL, e coloque em BULK-LOGGED quando vai usar comandos de inserção em massa, e quando essa transação terminar, volte para o Modo de Recuperação FULL.

SIMPLE: Nesse tipo de Modelo de Recuperação os logs de transações são truncados no final da transação, não gravando no Transaction Log. Assim sendo, não é possível criar estratégia de backup com BACKUP LOG, pois Logs de Transações serão sempre truncados.

Para recuperar um Backup em caso de desastre, só será possível recuperar nos horários exatos em que ocorreram os Backups FULL e DIFF.

 

Seguem os comandos para alterar o Recovery Model do Banco de Dados.

ALTER DATABASE LanzariniDBA SET RECOVERY FULL   ;
ALTER DATABASE LanzariniDBA SET RECOVERY BULK_LOGGED ; 
ALTER DATABASE LanzariniDBA SET RECOVERY SIMPLE ;

 

Para alterar via Management Studio (interface):

Botão direito no Banco de Dados > Properties > Options.

1

 

 

 

 

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s