Wie man SQL Server RDS in einen S3-Bucket sichert

Das Verwalten von Backups für SQL Server RDS-Instanzen ist entscheidend, um die Datenverfügbarkeit und die Notfallwiederherstellung sicherzustellen. AWS stellt Tools zur Verfügung, um diesen Prozess zu erleichtern, einschließlich Befehlen zum Sichern von SQL Server RDS-Datenbanken direkt in Amazon S3. Dieser Artikel führt Sie durch die Befehle und Konfigurationen, die für das Durchführen von Backups und Wiederherstellungen erforderlich sind.

SQL Server RDS-Backups in S3 sichern

Die hauptsächlich verwendete gespeicherte Prozedur zum Erstellen von Backups ist msdb.dbo.rds_backup_database. Dieser Befehl ermöglicht es Ihnen, die zu sichernde Datenbank und den S3-Speicherort anzugeben, an dem das Backup gespeichert wird.

Paketparameter

Die gespeicherte Prozedur unterstützt mehrere Parameter, die als obligatorisch und optional kategorisiert sind.

Obligatorische Parameter

  • @source_db_name: Der Name der Datenbank, die gesichert werden soll.
  • @s3_arn_to_backup_to: Die ARN, die den Amazon S3-Bucket für das Backup angibt, einschließlich des Backup-Dateinamens.
    • Die Datei kann eine beliebige Erweiterung haben, aber .bak wird üblicherweise verwendet.

Optionale Parameter

  • @kms_master_key_arn

    • Die ARN für den symmetrischen Verschlüsselung KMS-Schlüssel, der zur Verschlüsselung des Backups verwendet werden soll.
    • Sie können den Standard-Verschlüsselungsschlüssel nicht verwenden. Die Verwendung des Standard-Schlüssels führt zu einem Backup-Fehler.
    • Wenn Sie keinen KMS-Schlüssel angeben, wird die Backup-Datei nicht verschlüsselt.
    • Nur symmetrische KMS-Schlüssel werden unterstützt.
  • @overwrite_s3_backup_file

    • Legt fest, ob eine vorhandene Datei überschrieben werden soll.
    • 0 (Standard): Überschreibt keine vorhandene Datei. Gibt einen Fehler zurück, wenn die Datei bereits vorhanden ist.
    • 1: Überschreibt die vorhandene Datei, auch wenn es sich nicht um eine Backup-Datei handelt.
  • @type

    • Gibt den Typ des Backups an.
    • FULL (Standard): Führt ein vollständiges Backup durch.
    • DIFFERENTIAL: Erstellt ein differentielles Backup basierend auf dem letzten vollständigen Backup.
    • Wichtig: Damit differentielle Backups funktionieren, darf kein Snapshot zwischen dem letzten vollständigen Backup und dem differentiellen Backup existieren. Wenn ein Snapshot vorhanden ist, führen Sie ein weiteres vollständiges Backup vor dem differentiellen Backup durch. Hier ist eine Beispielanfrage, um das letzte vollständige Backup zu überprüfen:

      MS SQL

       

  • @number_of_files

    • Legt die Anzahl der Dateien (Chunks) fest, in die das Backup aufgeteilt wird. Maximum: 10.
    • Wenn auf 1 gesetzt oder ausgelassen wird, wird eine einzelne Backup-Datei erstellt.
    • Multifile-Backups müssen ein einzelnes * im Dateinamen verwenden, das während der Generierung durch alphanumerische Zeichen ersetzt wird. Zum Beispiel:
      • Eingabe: backup*.bak, @number_of_files = 4
      • Ausgabe: backup1-of-4.bak, backup2-of-4.bak, backup3-of-4.bak, backup4-of-4.bak
  • @block_size

    • Legt die physische Blockgröße (in Bytes) für Sicherungsvorgänge fest.
    • Gültige Werte: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
  • @max_transfer_size

    • Bezeichnet die maximale Datenmenge (in Bytes), die pro E/A-Vorgang übertragen wird.
    • Gültige Werte: Vielfache von 65536 Bytes bis zu 4194304 Bytes (4 MB).
  • @buffer_count

    • Gesamtanzahl der E/A-Puffer, die während des Sicherungsvorgangs verwendet werden.

Befehlssyntax

MS SQL

Beispiel: Vollständige Sicherung auf S3

MS SQL

Konfigurieren der Sicherungskompression

Um Speicherplatz zu sparen und die Übertragungszeit zu reduzieren, können Sie die Kompression für SQL Server RDS-Sicherungen mithilfe der rdsadmin-Befehle aktivieren.

Aktivieren der Kompression

MS SQL

 

Deaktivieren der Komprimierung

MS SQL

Hinweis: SQL Express unterstützt keine Backup-Komprimierung; das Aktivieren in solchen Fällen führt zu einem Backup-Fehler.

Durchführung von nativen SQL Server-Backups

Amazon RDS unterstützt auch die native SQL Server-Backup-Funktionalität. Im Folgenden finden Sie Befehle für Backup- und Wiederherstellungsvorgänge.

Backup-Befehle

Vollständiger Backup-Befehl

MS SQL

Differenzieller Backup-Befehl

MS SQL

 

Wiederherstellungsbefehl

Differenzieller Wiederherstellungsbefehl

MS SQL

Differenzieller Wiederherstellungsbefehl

MS SQL

 

Überwachung und Verwaltung von Backup-Aufgaben

Überprüfen Sie den Aufgabenstatus:

MS SQL

Abbrechen einer Backup-Aufgabe:

MS SQL

Betrachtungen

  • Stellen Sie sicher, dass der im Befehl verwendete S3-Bucket über die erforderlichen Berechtigungen verfügt, um Zugriff vom RDS-Instanz zu ermöglichen.
  • Für sensible Daten können Sie einen AWS KMS-Hauptschlüssel verwenden, um Backups zu verschlüsseln, bevor sie in S3 gespeichert werden, indem Sie @kms_master_key_arn angeben.

Zusätzliche Ressourcen

Weitere ausführliche Beispiele und Informationen finden Sie in der offiziellen AWS-Dokumentation zu SQL-Server-Backups.

Diese Anleitung bietet eine solide Grundlage für das Verwalten von SQL Server RDS-Backups mit Amazon S3. Für fortgeschrittenere Konfigurationen konsultieren Sie bitte die AWS-Dokumentation oder experimentieren Sie mit den bereitgestellten Parametern, um den Backup-Prozess gemäß Ihrer Umgebung zu optimieren.

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