Comment sauvegarder SQL Server RDS dans un bucket S3

La gestion des sauvegardes pour les instances SQL Server RDS est cruciale pour garantir la disponibilité des données et la reprise après sinistre. AWS fournit des outils pour faciliter ce processus, y compris des commandes pour sauvegarder directement les bases de données SQL Server RDS vers Amazon S3. Cet article vous guide à travers les commandes et configurations nécessaires pour effectuer des sauvegardes et des restaurations.

Sauvegarde de SQL Server RDS vers S3

La procédure stockée principale utilisée pour créer des sauvegardes est msdb.dbo.rds_backup_database. Cette commande vous permet de spécifier la base de données à sauvegarder et l’emplacement S3 où la sauvegarde sera stockée.

Paramètres du package

La procédure stockée prend en charge plusieurs paramètres, qui sont catégorisés comme obligatoires et optionnels.

Paramètres obligatoires

  • @source_db_name : Le nom de la base de données à sauvegarder.
  • @s3_arn_to_backup_to : L’ARN indiquant le bucket Amazon S3 à utiliser pour la sauvegarde, y compris le nom du fichier de sauvegarde.
    • Le fichier peut avoir n’importe quelle extension mais .bak est couramment utilisé.

Paramètres optionnels

  • @kms_master_key_arn

    • L’ARN de la clé KMS de chiffrement symétrique à utiliser pour chiffrer la sauvegarde.
    • Vous ne pouvez pas utiliser la clé de chiffrement par défaut. L’utilisation de la clé par défaut entraînera un échec de sauvegarde.
    • Si vous ne spécifiez pas de clé KMS, le fichier de sauvegarde ne sera pas chiffré.
    • Seules les clés KMS symétriques sont prises en charge.
  • @overwrite_s3_backup_file

    • Détermine s’il faut écraser un fichier existant.
    • 0 (par défaut) : N’écrase pas un fichier existant. Renvoie une erreur si le fichier existe déjà.
    • 1 : Écrase le fichier existant, même s’il ne s’agit pas d’un fichier de sauvegarde.
  • @type

    • Spécifie le type de sauvegarde.
    • FULL (par défaut) : Effectue une sauvegarde complète.
    • DIFFERENTIELLE : Crée une sauvegarde différentielle basée sur la dernière sauvegarde complète.
    • Important : Pour que les sauvegardes différentielles fonctionnent, aucun instantané ne doit exister entre la dernière sauvegarde complète et la sauvegarde différentielle. S’il existe un instantané, effectuez une autre sauvegarde complète avant la sauvegarde différentielle. Voici un exemple de requête pour vérifier la dernière sauvegarde complète :

      MS SQL

       

  • @number_of_files

    • Spécifie le nombre de fichiers (chunks) dans lesquels la sauvegarde sera divisée. Maximum: 10.
    • Si défini sur 1 ou omis, un seul fichier de sauvegarde est créé.
    • Les sauvegardes multifichiers doivent utiliser un seul * dans le nom de fichier, qui sera remplacé par des chaînes alphanumériques lors de la génération. Par exemple:
      • Entrée: backup*.bak, @number_of_files = 4
      • Sortie: backup1-of-4.bak, backup2-of-4.bak, backup3-of-4.bak, backup4-of-4.bak
  • @block_size

    • Spécifie la taille de bloc physique (en octets) pour les opérations de sauvegarde.
    • Valeurs valides : 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
  • @max_transfer_size

    • Désigne la quantité maximale de données (en octets) transférée par opération d’E/S.
    • Valeurs valides : Multiples de 65536 octets jusqu’à 4194304 octets (4 Mo).
  • @buffer_count

    • Nombre total de tampons d’E/S utilisés pendant le processus de sauvegarde.

Syntaxe de la commande

MS SQL

Exemple : Sauvegarde complète vers S3

MS SQL

Configuration de la compression de sauvegarde

Pour économiser de l’espace et réduire le temps de transfert, vous pouvez activer la compression des sauvegardes SQL Server RDS en utilisant les commandes rdsadmin.

Activer la compression

MS SQL

 

Désactiver la compression

MS SQL

Note : SQL Express ne prend pas en charge la compression des sauvegardes ; l’activer dans de tels cas entraînera un échec de la sauvegarde.

Réalisation de sauvegardes natives SQL Server

Amazon RDS prend également en charge la fonctionnalité de sauvegarde native SQL Server. Voici les commandes pour les opérations de sauvegarde et de restauration.

Commandes de sauvegarde

Commande de sauvegarde complète

MS SQL

Commande de sauvegarde différentielle

MS SQL

 

Commande de restauration

Commande de restauration différentielle

MS SQL

Commande de restauration différentielle

MS SQL

 

Surveillance et gestion des tâches de sauvegarde

Vérifier l’état de la tâche :

MS SQL

Annuler une tâche de sauvegarde :

MS SQL

Considérations

  • Assurez-vous que le compartiment S3 utilisé dans les commandes a les autorisations nécessaires pour permettre l’accès depuis l’instance RDS.
  • Pour les données sensibles, vous pouvez utiliser une clé principale AWS KMS pour chiffrer les sauvegardes avant de les stocker dans S3 en spécifiant @kms_master_key_arn.

Ressources supplémentaires

Pour des exemples et des informations plus détaillés, consultez la documentation officielle AWS sur les sauvegardes SQL Server.

Ce guide offre une base solide pour la gestion des sauvegardes SQL Server RDS avec Amazon S3. Pour des configurations plus avancées, veuillez consulter la documentation AWS ou expérimenter avec les paramètres fournis pour affiner le processus de sauvegarde selon votre environnement.

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