Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

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

Lesedauer: 4 Minute
0

Ich möchte wissen, wie ich native Backups meiner SQL-Server-Datenbanken auf Amazon RDS durchführe und die Backups in Amazon S3 speichere. Ich möchte herausfinden, wie ich diese Backups auf derselben oder einer anderen RDS-DB-Instance wiederherstellen kann, auf der SQL Server ausgeführt wird.

Kurzbeschreibung

Mit Amazon-RDS-Backups können Sie die Backup-Datei in Amazon Simple Storage Service (Amazon S3) speichern. Sie können die Datenbank-Backup-Datei auch für die Wiederherstellung auf derselben oder einer anderen DB-Instance des Typs Amazon RDS for SQL Server verwenden.

Amazon RDS unterstützt native Backups und Wiederherstellungen für Microsoft-SQL-Server-Datenbanken. Sie können ein vollständiges Backup Ihrer On-Premises-Datenbank erstellen und die Datei in Amazon S3 speichern. Anschließend können Sie das Backup in einer vorhandenen DB-Instance von Amazon RDS wiederherstellen, auf der SQL Server ausgeführt wird. Sie können dieses Backup auch auf einem lokalen Server oder auf einer anderen DB-Instance von Amazon RDS wiederherstellen, auf der SQL Server ausgeführt wird. Weitere Informationen finden Sie unter Wiederherstellen einer Sicherung auf der Microsoft-Website.

Lösung

Bevor Sie mit dem nativen Backup beginnen, stellen Sie sicher, dass Sie über die folgenden Komponenten verfügen:

Gehen Sie folgendermaßen vor, um eine native Sicherung der SQL-Server-Datenbank einzurichten:

  1. Öffnen Sie die Amazon-RDS-Konsole und wählen Sie im Navigationsbereich Optionsgruppen aus.
  2. Wählen Sie Gruppe erstellen und geben Sie den Namen, die Beschreibung, die Engine und die Engine-Version Ihres Servers ein.
  3. Wählen Sie Erstellen.
  4. Wählen Sie die Optionsgruppe aus, die Sie erstellt haben, und wählen Sie Option hinzufügen.
  5. Wählen Sie SQLSERVER_BACKUP_RESTORE. Es hat sich bewährt, eine neue IAM-Rolle zu erstellen und dann Option hinzufügen auszuwählen, damit Ihre IAM-Rolle über die erforderlichen Berechtigungen verfügt.
  6. Wählen Sie Ihren S3-Bucket aus oder erstellen Sie einen neuen S3-Bucket.
  7. Wählen Sie dann Sofort anwenden und Option hinzufügen.
  8. Ordnen Sie die Optionsgruppe der DB-Instance zu, indem Sie im Navigationsbereich Datenbanken und dann die Instance auswählen, die gesichert werden soll.
  9. Wählen Sie Aktionen und dann Ändern.
  10. Wählen Sie unter Datenbankoptionen die Optionsgruppe aus, die Sie erstellt haben, und klicken Sie auf Sofort anwenden und Weiter.
  11. Überprüfen Sie die Informationen und wählen Sie dann DB-Instance ändern. Diese Änderung der Optionsgruppe führt nicht zu Ausfallzeit, da kein Instance-Neustart erforderlich ist.
  12. Warten Sie, bis sich der Status von Ausstehend in Verfügbar ändert. Verwenden Sie dann den Hauptbenutzer Ihrer RDS-Instance, um über SQL Server Management Studio eine Verbindung zur DB-Instance herzustellen.
  13. Wählen Sie dann Neue Abfrage und geben Sie eine der folgenden SQL-Anweisungen ein, um das Backup der gewünschten Datenbank zu starten:

Starten des Backups für unverschlüsselte Datenbanken

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;

Starten des Backups für verschlüsselte Datenbanken

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 in diesen Beispielen database_name, bucket_name, file_name_and_extension, region, account-id und key-id so, dass sie Ihrem Szenario entsprechen. Sie können das im S3-Bucket generierte Backup 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 werden ausgegeben.

Wenn der Lebenszyklusstatus der Aufgabe ERFOLG lautet, ist die Aufgabe abgeschlossen. Anschließend können Sie die Amazon-S3-Konsole öffnen, den Bucket auswählen, in dem Sie das Backup der Benutzerdatenbank erstellt haben, und die Backup-Datei anzeigen. Um die DB-Instance wiederherzustellen, laden Sie diese Datei herunter oder verwenden Sie die Backup-Datei der Benutzerdatenbank. Sie können dieselbe DB-Instance des Typs Amazon RDS for SQL Server oder in einer neuen RDS-DB-Instance wiederherstellen.

Verwenden Sie eine der folgenden SQL-Anweisungen, um die Wiederherstellung aus dem im S3-Bucket verfügbaren Backup 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 Aufgaben-ID abrufen, nachdem Sie die Backup- 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 Auftrags zu verfolgen:

exec msdb..rds_task_status @task_id= 5

Eine Liste potenzieller Fehler und Lösungen finden Sie unter Migrating Microsoft SQL Server Enterprise Workloads to Amazon RDS.

Verwandte Informationen

Introduction to backups

Backing up, restoring, and exporting data

Importing and exporting SQL Server databases using native backup and restore