Direkt zum Inhalt

Wie führe ich ein natives Backup meiner SQL-Server-Datenbank auf Amazon RDS durch und stelle sie von Amazon S3 wieder her?

Lesedauer: 4 Minute
0

Ich möchte ein natives Backup meiner SQL-Server-Datenbanken auf Amazon Relational Database Service (Amazon RDS) durchführen und die Backup-Dateien in Amazon Simple Storage Service (Amazon S3) speichern. Ich möchte auch die Backups auf derselben oder einer anderen Amazon-RDS-Datenbank-Instance wiederherstellen, auf der SQL Server ausgeführt wird.

Lösung

Bevor du mit dem nativen Backup beginnst, stelle sicher, dass du das native Backup und die Wiederherstellung eingerichtet hast.
Hinweis: Der Amazon-S3-Bucket muss sich in derselben AWS-Region wie die Amazon-RDS-Datenbank-Instance befinden.

Ein natives Backup oder die SQL-Server-Datenbank einrichten

Gehe wie folgt vor:

  1. Öffne die Amazon-Aurora- und -RDS-Konsole.
  2. Wähle im Navigationsbereich Optionsgruppen.
  3. Wähle Gruppe erstellen aus und gib dann den Namen, die Beschreibung, die Engine und die Engine-Version deines Servers ein.
  4. Wähle Erstellen.
  5. Wähle die Optionsgruppe aus und wähle dann Option hinzufügen.
  6. Wähle als Optionsname SQLSERVER_BACKUP_RESTORE.
    Hinweis: Es hat sich bewährt, eine neue AWS Identity and Access Management (IAM)-Rolle zu erstellen, damit die Rolle über die erforderlichen Berechtigungen verfügt.
  7. Wähle als S3 destination (S3-Ziel) den S3-Bucket aus.
  8. Wähle für Planen die Option Sofort.
  9. Wähle Option hinzufügen.

Die Optionsgruppe der Datenbank-Instance zuordnen

Gehe wie folgt vor:

  1. Wähle im Navigationsbereich Datenbanken und wähle dann die Instance für das Backup aus.
  2. Wähle Ändern und dann Zusätzliche Konfiguration.
  3. Wähle für Datenbankoptionen die Optionsgruppe und wähle dann Weiter.
  4. Lies die Zusammenfassung der Änderungen.
  5. Wähle für Planen von Änderungen die Option Sofort anwenden und dann DB-Instance ändern.
    Hinweis: Diese Änderung selbst verursacht keine Ausfallzeiten, aber sei vorsichtig, wenn du die Option Sofort anwenden auswählst. Wenn ausstehende Änderungen vorliegen, die eine Ausfallzeit für die Datenbank-Instance erfordern, kann die Option Sofort anwenden zu unerwarteten Ausfallzeiten führen. Weitere Informationen findest du unter Verwendung der Einstellung für Zeitplanänderungen.
  6. Warte, bis sich der Status von Wird geändert in Verfügbar ändert.

Über SSMS eine Verbindung zur Datenbank-Instance herstellen

Gehe wie folgt vor:

  1. Melde dich bei Microsoft SQL Server Management Studio (SSMS) als db_owner oder db_backupoperator an.
  2. Wähle Neue Abfrage und starte dann das Backup der Datenbank.
  3. Gib eine der folgenden SQL-Anweisungen ein.
    Führe die folgende Anweisung aus, um das unverschlüsselte Backup für Datenbanken zu starten:
    exec msdb.dbo.rds_backup_database  
        @source_db_name='database_name',  
        @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',  
        @overwrite_s3_backup_file=1;
    Um das Backup zu verschlüsseln, führe die folgende Anweisung aus:
    exec msdb.dbo.rds_backup_database  
        @source_db_name='database_name',  
        @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',  
        @kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',  
        @overwrite_s3_backup_file=1
    Hinweis: Verwende @overwrite_s3_backup_file=1, um eine bereits vorhandene Backup-Datei zu überschreiben. Der Standardwert ist 0.
    Hinweis: Ersetze in den vorherigen Anweisungen database_name, bucket_name, file_name_and_extension, region, account-id und key-id durch deine Werte. Verwende die Backup-Datei, die du im S3-Bucket generiert hast, um die Benutzerdatenbank auf einer neuen Amazon-RDS-Datenbank-Instance wiederherzustellen. Wenn du die Prozedur rds_backup_database oder rds_restore_database aufrufst, erzeugt die Aufgabe Informationen über die Aufgabe.

Wenn der Lebenszyklusstatus der Aufgabe SUCCESS lautet, ist die Aufgabe abgeschlossen. Verwende die Amazon-S3-Konsole, um die Backup-Datei im Bucket anzuzeigen, in dem du das Backup der Benutzerdatenbank erstellt hast. Um die Datenbank-Instance wiederherzustellen, lade die Backup-Datei herunter, die sich im S3-Bucket befindet, oder verwende die Backup-Datei der Benutzerdatenbank. Du kannst es entweder auf derselben Datenbank-Instance von Amazon RDS für SQL Server oder auf einer neuen Amazon-RDS-Datenbank-Instance wiederherstellen. Du kannst dieses Backup auch auf einem On-Premises-Server oder auf einer anderen Datenbank-Instance von Amazon RDS wiederherstellen, auf der SQL Server ausgeführt wird. Weitere Informationen findest du unter Schnellstart: Sichern und Wiederherstellen einer SQL Server-Datenbank mit SSMS auf der Microsoft-Website.

Verwende eine der folgenden SQL-Anweisungen, um die Wiederherstellung aus der Backup-Datei, die sich im S3-Bucket befindet, durchzuführen.

Um ein unverschlüsseltes Backup wiederherzustellen, führe die folgende Anweisung aus:

exec msdb.dbo.rds_restore_database  
    @restore_db_name='database_name',  
    @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

Um ein verschlüsseltes Backup wiederherzustellen, führe die folgende Anweisung aus:

exec msdb.dbo.rds_restore_database  
    @restore_db_name='database_name',  
    @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension',  
    @kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';

Hinweis: Ersetze in den vorherigen Anweisungen den gesamten Amazon-Ressourcennamen (ARN) durch deinen Wert.

Um den Fortschritt der Backup- oder Wiederherstellungsanweisung zu verfolgen, identifiziere die Aufgaben-ID aus der Ausgabe. Oder verwende die folgende Anweisung, um alle abgeschlossenen und ausstehenden Aufgaben für eine spezifische Datenbank zu identifizieren:

exec msdb.dbo.rds_task_status @db_name='database_name';

Hinweis: Ersetze database_name durch den Namen deiner Datenbank.

Führe die folgende SQL-Anweisung aus, um den Status des Auftrags zu verfolgen:

exec msdb.dbo.rds_task_status @task_id=Task_id;

Hinweis: Ersetze in der vorherigen Anweisung Task_id durch deinen Wert.

Informationen zu möglicherweise auftretenden Fehlern und deren Lösungen findest du unter Migration von Workloads von Microsoft SQL Server Enterprise zu Amazon RDS.

Ähnliche Informationen

Einführung in Backups

Backup, Wiederherstellung und Export von Daten

Import und Export von SQL-Server-Datenbanken mithilfe des nativen Backups und der Wiederherstellung