Como Fazer Backup do SQL Server RDS para um Bucket S3

Gerenciar backups para instâncias do SQL Server RDS é crucial para garantir a disponibilidade de dados e recuperação de desastres. A AWS fornece ferramentas para facilitar esse processo, incluindo comandos para fazer backup de bancos de dados do SQL Server RDS diretamente no Amazon S3. Este artigo orienta você sobre os comandos e configurações necessários para realizar backups e restaurações.

Fazendo Backup do SQL Server RDS no S3

O procedimento armazenado principal usado para criar backups é msdb.dbo.rds_backup_database. Esse comando permite que você especifique o banco de dados a ser copiado e a localização no S3 onde o backup será armazenado.

Parâmetros do Pacote

O procedimento armazenado suporta vários parâmetros, que são categorizados como obrigatórios e opcionais.

Parâmetros Obrigatórios

  • @source_db_name: O nome do banco de dados a ser copiado.
  • @s3_arn_to_backup_to: O ARN que indica o bucket do Amazon S3 a ser usado para o backup, incluindo o nome do arquivo de backup.
    • O arquivo pode ter qualquer extensão, mas .bak é comumente usado.

Parâmetros Opcionais

  • @kms_master_key_arn

    • O ARN para a chave de criptografia simétrica KMS a ser usada para criptografar o backup.
    • Você não pode usar a chave de criptografia padrão. Usar a chave padrão resultará em falha no backup.
    • Se você não especificar uma chave KMS, o arquivo de backup não será criptografado.
    • Apenas chaves KMS simétricas são suportadas.
  • @overwrite_s3_backup_file

    • Determina se deve sobrescrever um arquivo existente.
    • 0 (padrão): Não sobrescreve um arquivo existente. Retorna um erro se o arquivo já existir.
    • 1: Sobrescreve o arquivo existente, mesmo que não seja um arquivo de backup.
  • @tipo

    • Especifica o tipo de backup.
    • COMPLETO (padrão): Realiza um backup completo.
    • DIFERENCIAL: Cria um backup diferencial com base no último backup completo.
    • Importante: Para que os backups diferenciais funcionem, não deve existir nenhum snapshot entre o último backup completo e o backup diferencial. Se um snapshot existir, realize outro backup completo antes do backup diferencial. Abaixo está um exemplo de consulta para verificar o último backup completo:

      MS SQL

       

  • @number_of_files

    • Especifica o número de arquivos (partes) em que o backup será dividido. Máximo: 10.
    • Se definido como 1 ou omitido, um único arquivo de backup é criado.
    • Backups multifile devem usar um único * no nome do arquivo, que será substituído por strings alfanuméricas durante a geração. Por exemplo:
      • Entrada: backup*.bak, @number_of_files = 4
      • Saída: backup1-of-4.bak, backup2-of-4.bak, backup3-of-4.bak, backup4-of-4.bak
  • @tamanho_bloco

    • Especifica o tamanho do bloco físico (em bytes) para operações de backup.
    • Valores válidos: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
  • @tamanho_max_transferencia

    • Denota a quantidade máxima de dados (em bytes) transferidos por operação de I/O.
    • Valores válidos: Múltiplos de 65536 bytes até 4194304 bytes (4 MB).
  • @contagem_buffer

    • Número total de buffers de I/O utilizados durante o processo de backup.

Sintaxe do Comando

MS SQL

Exemplo: Backup Completo para S3

MS SQL

Configurando Compressão de Backup

Para economizar espaço e reduzir o tempo de transferência, você pode habilitar a compressão para backups do SQL Server RDS usando os comandos rdsadmin.

Habilitar Compressão

MS SQL

 

Desativar Compactação

MS SQL

Nota: O SQL Express não suporta compactação de backup; habilitar isso em tais casos resultará em falha no backup.

Realizando Backups Nativos do SQL Server

O Amazon RDS também suporta a funcionalidade de backup nativo do SQL Server. Abaixo estão os comandos para operações de backup e restauração.

Comandos de Backup

Comando de Backup Completo

MS SQL

Comando de Backup Diferencial

MS SQL

 

Comando de Restauração

Comando de Restauração Diferencial

MS SQL

Comando de Restauração Diferencial

MS SQL

 

Monitorando e Gerenciando Tarefas de Backup

Verifique o status da tarefa:

MS SQL

Cancelar uma tarefa de backup:

MS SQL

Considerações

  • Assegure-se de que o bucket S3 usado nos comandos tenha as permissões necessárias para permitir o acesso a partir da instância RDS.
  • Para dados sensíveis, você pode usar uma chave mestra AWS KMS para criptografar os backups antes de armazená-los no S3, especificando @kms_master_key_arn.

Recursos Adicionais

Para exemplos e informações mais detalhadas, consulte a documentação oficial da AWS sobre backups do SQL Server.

Este guia oferece uma base sólida para gerenciar backups do SQL Server RDS com o Amazon S3. Para configurações mais avançadas, consulte a documentação da AWS ou experimente os parâmetros fornecidos para ajustar o processo de backup de acordo com o seu ambiente.

Source:
https://dzone.com/articles/how-to-backup-sql-server-rds-to-an-s3-bucket