Reter o histórico de cópias de segurança com políticas de retenção de longo prazo

Concluído

As empresas precisam de manter cópias de segurança durante meses ou anos para efeitos de proteção administrativa regular, tal como a restauração de dados eliminados acidentalmente.

Por exemplo, as leis de proteção de dados em pelo menos um país/região onde sua organização de varejo opera exigem que você mantenha registros de todas as transações de clientes por cinco anos. Você precisa garantir que mantém os dados no Banco de Dados SQL do Azure, que sustenta seu sistema de planejamento de recursos empresariais (ERP), por pelo menos esse tempo.

Agora, vamos aprender sobre políticas de retenção de longo prazo no Banco de Dados SQL do Azure e como usá-las quando precisar de backups mantidos por mais de 35 dias.

Políticas de retenção de longo prazo de cópias de segurança

As cópias de segurança automáticas de Bases de Dados SQL do Azure mantêm-se disponíveis para restauro durante até 35 dias. Este período é suficiente para fins de administração de rotina. Mas, às vezes, você pode precisar reter dados por períodos mais longos. Por exemplo, quando os regulamentos de proteção de dados na sua jurisdição exigem que mantenha cópias de segurança durante vários anos.

Para requisitos como este, utilize a funcionalidade de retenção de longo prazo (LTR). Com a mesma, pode armazenar cópias de segurança de Bases de Dados SQL do Azure em blobs de armazenamento georredundante (RA-GRS) com acesso de leitura durante até 10 anos. Se precisar de acesso a uma cópia de segurança em LTR, pode restaurá-la como uma nova base de dados, seja através do portal do Azure ou do PowerShell.

Como funciona a retenção de longo prazo de Bases de Dados SQL

O recurso LTR usa os backups automáticos para recuperação point-in-time e os copia para blobs diferentes. Essa operação de cópia é executada em segundo plano com baixa prioridade para garantir que não haja efeito no desempenho.

Estas cópias de segurança não são criadas por predefinição. Tem de configurar uma política para as iniciar e gerir.

Como escrever uma política de retenção de longo prazo

A política LTR define a frequência com que um backup automático é copiado para retenção de longo prazo. Esta frequência especifica-se com letras:

  • W: Especifica que um backup completo por semana é copiado para retenção de longo prazo.
  • M: Especifica que um backup completo da primeira semana de cada mês é copiado para retenção de longo prazo.
  • Y: Especifica que um backup completo a cada ano é copiado para retenção de longo prazo.

Se utilizar Y para cópias de segurança anuais, pode especificar a semana do ano em que a cópia de segurança é efetuada através do parâmetro WeekOfYear.

Para cada letra de política, você usa números para indicar por quanto tempo o backup deve ser mantido. Por exemplo, para manter a cópia de segurança semanal durante 10 semanas, utilize W=10. Para manter a cópia de segurança anual durante três anos, utilize Y=3.

Exemplos de políticas de retenção de longo prazo

Pode combinar valores de retenção semanais, mensais e anuais para criar uma política flexível. Por exemplo:

  • W=0, M=0, Y=5, WeekOfYear=3

    Esta política mantém o backup completo feito na terceira semana do ano por cinco anos.

  • W=0, M=10, Y=0

    Esta política retém a primeira cópia de segurança completa de cada mês durante 10 meses.

  • W=12, M=0, Y=0

    Esta política retém cada cópia de segurança completa semanal durante 12 semanas.

  • W=4, M=12, Y=10, WeekOfYear=1

    Esta política retém cada cópia de segurança semanal durante quatro semanas. Também retém a primeira cópia de segurança completa de cada mês durante 12 meses. Finalmente, ele mantém o primeiro backup completo feito na primeira semana de cada ano por 10 anos.

Definir políticas de retenção no PowerShell

No PowerShell, você pode examinar uma política de retenção de longo prazo executando este comando:

Get-AzSqlDatabase `
    -ResourceGroupName <ResourceGroupName> `
    -ServerName <ServerName> `
    | Get-AzSqlDatabaseLongTermRetentionPolicy

Para configurar a política, utilize o cmdlet Set-AzSqlDatabaseBackupLongTermRetentionPolicy. Ao especificar estas políticas no PowerShell, deve utilizar valores de duração em ISO 8601. Por exemplo, para especificar a política W=10, transmita a cadeia P10W para o parâmetro -WeeklyRetention. Para especificar a política Y=3, transmita a cadeia P3Y para o parâmetro -YearlyRetention.

Set-AzSqlDatabaseBackupLongTermRetentionPolicy `
    -ServerName <ServerName> `
    -DatabaseName <DatabaseName> `
    -ResourceGroupName <ResourceGroupName> `
    -WeeklyRetention P10W `
    -YearlyRetention P3Y `
    -WeekOfYear 1