
#2 – Prevenção e Antecipação de Problemas no ambiente de Banco de Dados
27 de outubro de 2020
#3 – Abordagem e Paradigma de Monitoramento de Banco de Dados
4 de novembro de 2020Hoje vamos falar de um assunto que as vezes causa confusão no time técnico, que é como trabalhar com backups do Azure SQL Database.
Primeiramente, precisamos entender, o que é um backup? Nada mais é que a execução de um procedimento onde garanta retorno íntegro do seu ambiente em um ponto no tempo, caso ocorra uma falha grave de infraestrutura ou deleção de dados, garantindo assim a continuidade do seu negócio.
Exemplos de quando você pode precisar de um backup:
- O usuário deletou uma linha ou um objeto do banco de dados acidentalmente.
- Um invasor conseguiu atingir seu banco de dados, removendo dados, ou alterando algo indevidamente.
- Algum tipo de desastre natural ocorreu, onde seu banco de dados por ser afetado
Tendo a visão clara do que é um backup e de quando você pode precisar de um, devemos então conhecer na prática as opções relacionadas a backup que a Azure para o Azure SQL Database dispõe.
Frequência de backups
Sabemos então que a Azure é a responsável, após a devida configuração, por garantir a execução dos procedimentos de backup, mas de fato qual é a frequência que é executada essa rotina? Temos então algumas métricas básicas, que podem ser alteradas de acordo com as políticas da Azure, mas por padrão temos os tempos abaixo:
- Backup full (Completo): Uma vez na semana
- Backup diferencial (O que mudou desde o último backup full): a cada 12-24 horas
- Backup transacional: Entre 5 e 10 minutos (A frequência aqui depende de alguns fatores, como por exemplo, a quantidade de atividades no database).
Redundância de armazenamento
É extremamente importante quando falamos em backups, não mantermos o mesmo somente em um local, lembrando que se passarmos por uma falha e não for possível recuperar este backup, será um desastre caso você não tenha uma cópia extra em um local apartado e seguro.
Para isso por padrão os backups são armazenados em um blob storage da Azure, com isso ele já pode trazer redundância geográfica, garantindo assim a sua disponibilidade em caso de problemas maiores. Você pode escolher sobre as opções disponíveis de redundância local, zona ou geográfica que pode ser definida na criação do seu ambiente, ou atualizada para um já existente.
Configuração da política de retenção
A Azure dispõe de uma área específica para configuração das políticas de retenção, como é comum, temos diversas necessidades que devem ser atendidas para garantir e cumprir com regras de segurança e auditoria dos ambientes produtivos.
Para tal configuração, basta navegar no seu portal da Azure, selecionar a sua instância SQL Server e clicar em “Gerenciar backups”, na aba “Configurar políticas” você pode criar ou editar a política já existente:

Logo após isso irá abrir uma nova tela com as opções de retenção que podemos trabalhar

A primeira opção “Point in time Restore Configuration”, nos mostra a possibilidade de retermos os backups completos, diferenciais e transacionais o tempo necessário para garantirmos um retorno no tempo durante todo esse período.
As opções subjacentes nos detalham backups que vão ser armazenados em um local externo com retenção de longo prazo:
- Weekly LTR Backups: Determina que será armazenado um backup semanal, pelo tempo determinado na configuração.
- Monthly LTR Backups: Indica que o primeiro backup de cada mês será copiado para o armazenamento externo, pelo tempo definido na configuração.
- Yearly LTR Backups: Indica que um backup da semana indicada na configuração, será copiado para o armazenamento externo, pelo tempo determinado na configuração.
Com as opções acima, podemos tratar de forma segura todas as opções necessárias para restaurações com um período bastante longo.
Caso você queira saber quais os backups disponíveis de longo prazo definidos na configuração acima, você pode navegar para a aba “Available Long-Term Retention backups”, onde o mesmo mostrará para você de forma resumida os backups (em tempo) possíveis de serem utilizados, conforme imagem abaixo:

Resumo
De forma geral, é muito mais fácil trabalhar com backups quando estamos falando do Azure SQL Database, pois com poucos clicks conseguimos definir a rotina de backup que será executada por responsabilidade da Azure, assim garantimos a sua segurança sobre possíveis falhas que podemos enfrentar.




