Wie führe ich native Backups einer Amazon RDS DB Instance durch, auf der SQL Server ausgeführt wird?

Lesedauer: 4 Minute
0

Ich möchte eine native Sicherung meiner Benutzerdatenbank in meiner Amazon Relational Database Service (Amazon RDS) DB Instance durchführen, auf der SQL Server ausgeführt wird. Ich muss die Sicherungsdatei in Amazon Simple Storage Service (Amazon S3) speichern oder die Datenbank-Backup-Datei verwenden, um sie auf derselben oder einer anderen Amazon RDS für SQL Server DB Instance wiederherzustellen.

Kurzbeschreibung

Amazon RDS unterstützt die native Sicherung und Wiederherstellung für Microsoft-SQL-Server-Datenbanken. Sie können eine vollständige Sicherung Ihrer lokalen Datenbank erstellen und die Datei in Amazon S3 speichern. Anschließend können Sie die Sicherungsdatei in einer vorhandenen Amazon RDS DB Instance wiederherstellen, auf der SQL Server ausgeführt wird. Sie können diese Sicherungsdatei auch auf einem lokalen Server oder auf einer anderen Amazon RDS DB Instance wiederherstellen, auf der SQL Server ausgeführt wird.

Lösung

Um eine native Sicherung der SQL-Server-Datenbank einzurichten, benötigen Sie die folgenden Komponenten:

  1. Öffnen Sie die Amazon-RDS-Konsole und wählen Sie dann im Navigationsbereich Optionsgruppen aus. Wählen Sie Gruppe erstellen und geben Sie den Namen, die Beschreibung, die Engine und die Engine-Version Ihres Servers ein. Wählen Sie dann Erstellen.
  2. Wählen Sie die Optionsgruppe aus, die Sie erstellt haben, und wählen Sie dann Option hinzufügen. Wählen Sie SQLSERVER_BACKUP_RESTORE. Es ist eine bewährte Methode, eine neue IAM-Rolle zu erstellen und dann Option hinzufügen auszuwählen, damit Ihre IAM-Rolle über die erforderlichen Rechte verfügt. Wählen Sie Ihren S3 Bucket oder erstellen Sie einen neuen S3 Bucket. Wählen Sie dann Sofort anwenden und Option hinzufügen.
  3. Ordnen Sie die Optionsgruppe der DB Instance zu, indem Sie im Navigationsbereich Datenbanken auswählen und dann die Instance auswählen, die gesichert werden soll. Wählen Sie Aktionen und dann Ändern.
  4. Wählen Sie unter Datenbankoptionen die Optionsgruppe aus, die Sie erstellt haben, und wählen Sie dann Sofort anwenden und Weiter aus. Überprüfen Sie die Informationen und wählen Sie dann DB Instance bearbeiten. Diese Änderung der Optionsgruppe führt nicht zu Ausfallzeit, da ein Instance-Neustart nicht erforderlich ist.
  5. Wenn sich der Status von In Bearbeitung zu Verfügbar ändert, stellen Sie über SQL Server Management Studio mithilfe des Masterbenutzers Ihrer RDS Instance eine Verbindung zur DB Instance her. Wählen Sie dann Neue Abfrage und geben Sie eine der folgenden SQL-Anweisungen ein, um die Sicherung der gewünschten Datenbank zu starten:

Sicherung für unverschlüsselte Datenbanken 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;

Sicherung für verschlüsselte Datenbanken 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',   
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1;

Hinweis: Ersetzen Sie database_name, bucket_name, file_name_and_extension, region, account-id und key-id, die in diesen Beispielen aufgeführt sind, damit diese Ihrem Szenario entsprechen. Sie können die im S3 Bucket generierte Sicherungsdatei verwenden, um die Benutzerdatenbank auf einer neuen RDS DB Instance wiederherzustellen. Wenn die gespeicherte Prozedur rds_backup_database oder rds_restore_database aufgerufen wird, wird die Aufgabe gestartet und die Informationen über die Aufgabe ausgegeben.

Wenn der Lebenszyklusstatus der Aufgabe SUCCESS lautet, ist die Aufgabe abgeschlossen. Anschließend können Sie die Amazon S3 Konsole öffnen, den Bucket auswählen, in dem Sie das Benutzerdatenbank-Backup erstellt haben, und die Sicherungsdatei anzeigen. Sie können diese Datei herunterladen oder die Backup-Datei der Benutzerdatenbank verwenden, um sie auf derselben Amazon RDS für SQL Server DB Instance oder in einer neuen RDS DB Instance wiederherzustellen.

Verwenden Sie eine der folgenden SQL-Anweisungen, um die Wiederherstellung aus der im S3 Bucket verfügbaren Sicherungsdatei durchzuführen:

Wiederherstellen unverschlüsselter Datenbanken

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';

Wiederherstellen verschlüsselter Datenbanken

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';

Sie können die Task ID abrufen, nachdem Sie die Sicherungs- oder Wiederherstellungsanweisung ausgeführt haben. Oder Sie können das folgende Skript verwenden, um alle abgeschlossenen und ausstehenden Aufgaben für eine bestimmte Datenbank zu identifizieren:

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

Verwenden Sie diese SQL-Anweisung, um den Status des Jobs zu verfolgen:

exec msdb..rds_task_status @task_id= 5

Eine Liste potenzieller Fehler und Lösungen finden Sie unter Migration von Microsoft SQL Server Enterprise Workloads zu Amazon RDS.


Verwandte Informationen

Mit Backups arbeiten

Amazon RDS DB Instances sichern und wiederherstellen

Import und Export von SQL-Server -Datenbanken mit nativer Sicherung und Wiederherstellung