Hoe SQL Server RDS naar een S3-bucket te back-uppen

Het beheren van back-ups voor SQL Server RDS-instanties is cruciaal om gegevensbeschikbaarheid en rampenherstel te waarborgen. AWS biedt tools om dit proces te vergemakkelijken, waaronder commando’s om SQL Server RDS-databases rechtstreeks naar Amazon S3 te back-uppen. Dit artikel loodst je door de benodigde commando’s en configuraties om back-ups en herstel uit te voeren.

SQL Server RDS back-uppen naar S3

De primaire opgeslagen procedure die wordt gebruikt voor het maken van back-ups is msdb.dbo.rds_backup_database. Dit commando stelt je in staat om de te back-uppen database en de S3-locatie waar de back-up wordt opgeslagen, op te geven.

Pakketparameters

De opgeslagen procedure ondersteunt diverse parameters, die worden gecategoriseerd als vereist en optioneel.

Vereiste parameters

  • @source_db_name: De naam van de database die moet worden back-upped.
  • @s3_arn_to_backup_to: De ARN die de Amazon S3-bucket aangeeft die moet worden gebruikt voor de back-up, inclusief de back-upbestandsnaam.
    • Het bestand kan elke extensie hebben, maar .bak wordt vaak gebruikt.

Optionele parameters

  • @kms_master_key_arn

    • De ARN voor de symmetrische encryptie KMS-sleutel die gebruikt moet worden voor het versleutelen van de back-up.
    • Je kunt de standaard encryptiesleutel niet gebruiken. Het gebruik van de standaard sleutel zal resulteren in een mislukte back-up.
    • Als je geen KMS-sleutel opgeeft, wordt het back-upbestand niet versleuteld.
    • Alleen symmetrische KMS-sleutels worden ondersteund.
  • @overwrite_s3_backup_file

    • Bepaalt of een bestaand bestand moet worden overschreven.
    • 0 (standaard): Overschrijft geen bestaand bestand. Geeft een foutmelding als het bestand al bestaat.
    • 1: Overschrijft het bestaande bestand, zelfs als het geen back-upbestand is.
  • @type

    • Het type back-up wordt gespecificeerd.
    • FULL (standaard): Voert een volledige back-up uit.
    • DIFFERENTIEEL: Maakt een differentiële back-up op basis van de laatste volledige back-up.
    • Belangrijk: Om differentiële back-ups te laten werken, mag er geen momentopname bestaan tussen de laatste volledige back-up en de differentiële back-up. Als er een momentopname bestaat, voer dan nog een volledige back-up uit voordat u de differentiële back-up uitvoert. Hieronder staat een voorbeeldquery om de laatste volledige back-up te controleren:

      MS SQL

       

  • @aantal_bestanden

    • Geeft het aantal bestanden (chunks) aan waarin de back-up zal worden verdeeld. Maximaal: 10.
    • Indien ingesteld op 1 of weggelaten, wordt er een enkel back-upbestand gemaakt.
    • Multi-bestandsback-ups moeten een enkele * in de bestandsnaam gebruiken, die tijdens de generatie zal worden vervangen door alfanumerieke tekens. Bijvoorbeeld:
      • Invoer: backup*.bak, @aantal_bestanden = 4
      • Uitvoer: backup1-van-4.bak, backup2-van-4.bak, backup3-van-4.bak, backup4-van-4.bak
  • @block_size

    • Geeft de fysieke blokgrootte (in bytes) voor backupoperaties aan.
    • Geldige waarden: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
  • @max_transfer_size

    • Geeft de maximale hoeveelheid gegevens (in bytes) aan die per I/O-operatie wordt overgedragen.
    • Geldige waarden: Veelvouden van 65536 bytes tot 4194304 bytes (4 MB).
  • @buffer_count

    • Totaal aantal I/O-buffers dat tijdens het backupproces wordt gebruikt.

Opdracht Syntax

MS SQL

Voorbeeld: Volledige Backup naar S3

MS SQL

Configureren van Backupcompressie

Om ruimte te besparen en de overdrachtstijd te verkorten, kunt u compressie inschakelen voor SQL Server RDS-backups met behulp van de rdsadmin opdrachten.

Compressie inschakelen

MS SQL

 

Uitschakelen van Compressie

MS SQL

Opmerking: SQL Express ondersteunt geen back-upcompressie; het inschakelen hiervan in dergelijke gevallen zal resulteren in een back-upfout.

Uitvoeren van Native SQL Server Back-ups

Amazon RDS ondersteunt ook de functionaliteit voor native SQL Server-back-ups. Hieronder staan commando’s voor back-up- en herstelbewerkingen.

Back-up Commando’s

Volledig Back-up Commando

MS SQL

Differentiële Back-up Commando

MS SQL

 

Herstel Commando

Differentiëel Herstel Commando

MS SQL

Differentiëel Herstel Commando

MS SQL

 

Back-uptaken Monitoren en Beheren

Controleer de taakstatus:

MS SQL

Annuleer een back-uptaak:

MS SQL

Overwegingen

  • Zorg ervoor dat de S3-bucket die wordt gebruikt in de commando’s de nodige machtigingen heeft om toegang vanaf de RDS-instantie toe te staan.
  • Voor gevoelige data kunt u een AWS KMS-master key gebruiken om back-ups te versleutelen voordat u ze opslaat in S3 door @kms_master_key_arn te specificeren.

Extra Bronnen

Voor meer gedetailleerde voorbeelden en informatie, raadpleeg de officiële AWS-documentatie over SQL Server-back-ups.

Deze handleiding biedt een solide basis voor het beheren van SQL Server RDS-back-ups met Amazon S3. Voor meer geavanceerde configuraties kunt u de AWS-documentatie raadplegen of experimenteren met de verstrekte parameters om het back-upproces af te stemmen op uw omgeving.

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