Come eseguire il backup di SQL Server RDS su un bucket S3

Gestire i backup per le istanze SQL Server RDS è fondamentale per garantire la disponibilità dei dati e il recupero in caso di disastro. AWS fornisce strumenti per facilitare questo processo, inclusi comandi per eseguire il backup dei database SQL Server RDS direttamente su Amazon S3. Questo articolo ti guiderà attraverso i comandi e le configurazioni necessarie per eseguire backup e ripristini.

Backup di SQL Server RDS su S3

La procedura memorizzata principale utilizzata per creare backup è msdb.dbo.rds_backup_database. Questo comando ti consente di specificare il database da eseguire il backup e la posizione S3 in cui il backup sarà archiviato.

Parametri del Pacchetto

La procedura memorizzata supporta diversi parametri, che sono categorizzati come obbligatori e opzionali.

Parametri Obbligatori

  • @source_db_name: Il nome del database da eseguire il backup.
  • @s3_arn_to_backup_to: L’ARN che indica il bucket Amazon S3 da utilizzare per il backup, incluso il nome del file di backup.
    • Il file può avere qualsiasi estensione, ma .bak è comunemente usata.

Parametri Opzionali

  • @kms_master_key_arn

    • L’ARN per la chiave KMS di crittografia simmetrica da utilizzare per crittografare il backup.
    • Non puoi utilizzare la chiave di crittografia predefinita. Utilizzare la chiave predefinita comporterà un errore nel backup.
    • Se non specifichi una chiave KMS, il file di backup non sarà crittografato.
    • Solo le chiavi KMS simmetriche sono supportate.
  • @overwrite_s3_backup_file

    • Determina se sovrascrivere un file esistente.
    • 0 (predefinito): Non sovrascrive un file esistente. Restituisce un errore se il file esiste già.
    • 1: Sovrascrive il file esistente, anche se non è un file di backup.
  • @type

    • Specifica il tipo di backup.
    • FULL (predefinito): Esegue un backup completo.
    • DIFFERENTIAL: Crea un backup differenziale basato sull’ultimo backup completo.
    • Importante: Affinché i backup differenziali funzionino, non deve esistere alcuno snapshot tra l’ultimo backup completo e il backup differenziale. Se esiste uno snapshot, eseguire un altro backup completo prima del backup differenziale. Di seguito è riportata una query di esempio per controllare l’ultimo backup completo:

      MS SQL

       

  • @number_of_files

    • Specifica il numero di file (chunk) in cui il backup sarà diviso. Massimo: 10.
    • Se impostato su 1 o omesso, viene creato un singolo file di backup.
    • I backup multifile devono utilizzare un singolo * nel nome del file, che verrà sostituito con stringhe alfanumeriche durante la generazione. Ad esempio:
      • Input: backup*.bak, @number_of_files = 4
      • Output: backup1-of-4.bak, backup2-of-4.bak, backup3-of-4.bak, backup4-of-4.bak
  • @block_size

    • Specifica la dimensione fisica del blocco (in byte) per le operazioni di backup.
    • Valori validi: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
  • @max_transfer_size

    • Indica la quantità massima di dati (in byte) trasferiti per ciascuna operazione I/O.
    • Valori validi: multipli di 65536 byte fino a 4194304 byte (4 MB).
  • @buffer_count

    • Numero totale di buffer I/O utilizzati durante il processo di backup.

Sintassi del comando

MS SQL

Esempio: Backup completo su S3

MS SQL

Configurazione della compressione del backup

Per risparmiare spazio e ridurre i tempi di trasferimento, puoi abilitare la compressione per i backup di SQL Server RDS utilizzando i comandi rdsadmin.

Abilita la compressione

MS SQL

 

Disabilita la compressione

MS SQL

Nota: SQL Express non supporta la compressione dei backup; abilitarla in tali casi comporterà un errore nel backup.

Eseguire backup nativi di SQL Server

Amazon RDS supporta anche la funzionalità di backup nativo di SQL Server. Di seguito sono riportati i comandi per le operazioni di backup e ripristino.

Comandi di backup

Comando di backup completo

MS SQL

Comando di backup differenziale

MS SQL

 

Comando di ripristino

Comando di ripristino differenziale

MS SQL

Comando di ripristino differenziale

MS SQL

 

Monitoraggio e gestione delle attività di backup

Controlla lo stato dell’attività:

MS SQL

Annulla un’attività di backup:

MS SQL

Considerazioni

  • Assicurati che il bucket S3 utilizzato nei comandi abbia le autorizzazioni necessarie per consentire l’accesso dall’istanza RDS.
  • Per dati sensibili, puoi utilizzare una chiave master AWS KMS per crittografare i backup prima di memorizzarli in S3 specificando @kms_master_key_arn.

Risorse aggiuntive

Per esempi e informazioni più dettagliate, fai riferimento alla documentazione ufficiale AWS sui backup di SQL Server.

Questa guida offre una solida base per gestire i backup di SQL Server RDS con Amazon S3. Per configurazioni più avanzate, si prega di consultare la documentazione AWS o di sperimentare con i parametri forniti per ottimizzare il processo di backup in base al proprio ambiente.

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