So importieren Sie eine Beispieldatenbank mit S3 in Ihren AWS RDS Microsoft SQL Server

Dieses Handbuch wurde erstellt, weil es so schwierig war, mit AWS RDS MSSQL Server mit einer Beispieldatenbank herumzuspielen. Ich hoffe, Sie finden das hilfreich.

Wenn Sie AWS RDS Microsoft SQL Server und Azure Data Studio nicht eingerichtet haben, lesen Sie zuerst dieses Handbuch: So verbinden Sie AWS RDS Microsoft SQL Server mit Azure Data Studio .

Wir werden die unten gezeigten Technologien berühren:

  • Datenbank: AWS RDS Microsoft SQL Server Express Edition
  • Datenbanktool und GUI: Azure Data Studio
  • Beispiel für eine Datenbank-Sicherungskopie: Amazon S3 Bucket

AdventureWorks Beispieldatenbank-Sicherungskopie

Um die OLTP-Downloads von AdventureWorks zu erhalten, gehen Sie zu diesem Link und wählen Sie eine Beispieldatenbank aus. In meinem Beispiel wähle ich AdventureWorks2017.bak. Wir werden dies in den S3 Bucket hochladen.

Amazon S3 Eimer

S3-Bucket erstellen

  1. Erstellen Sie einen Eimer. Sie können einen beliebigen Bucket-Namen auswählen (Beispiel: yourname-sample-dbs).

2. Stellen Sie sicher, dass die Region mit der AWS RDS-Instanz identisch ist.

3. Aktivieren Sie die folgenden Kontrollkästchen:

  • Blockieren Sie den öffentlichen Zugriff auf Buckets und Objekte, die über neue Zugriffssteuerungslisten (ACLs) gewährt werden.
  • Blockieren den Zugang der Öffentlichkeit und Objekte durch gewährt allen Zugriffskontrolllisten (ACLs)

4. Greifen Sie erneut auf Ihren Bucket zu, indem Sie auf den erstellten Bucket klicken.

Hochladen der Datei in den S3-Bucket

  1. Klicken Sie auf Hochladen .

2. Wählen Sie die Datenbanksicherungsdatei. Zum Beispiel : AdventureWorks2017.bak. Wählen Sie weiterhin " Weiter" und wählen Sie im Abschnitt "Überprüfen" die Option "Hochladen" .

3. Aktualisieren Sie Ihre Bucket-Richtlinie, um den Zugriff auf Ihren S3-Bucket zu ermöglichen. Beachten Sie, dass sich Ihre ARN von meiner unterscheidet. Klicken Sie anschließend auf Speichern .

{ "Version": "2012-10-17", "Id": "Policy1548223592786", "Statement": [ { "Sid": "Stmt1548223591553", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::changethis/*" } ] }

AWS RDS - MSSQL Server Express

Erstellen einer Optionsgruppe für Ihre RDS-Instanz

  1. Klicken Sie auf Optionsgruppen ,

2. Erstellen Sie eine Optionsgruppe. Wählen Sie einen Namen und eine Beschreibung. Für die Engine sollte sie mit Ihrer RDS-Instanz übereinstimmen. In meinem Beispiel habe ich SQL Server Express Edition verwendet, also wähle ich sqlserver-ex.

Hier sind die folgenden Motoren und ihre Abkürzungen:

  • SQL Server Enterprise Edition: sqlserver-ee
  • SQL Server Standard Edition: sqlserver-se
  • SQL Server Web Edition: sqlserver-web
  • SQL Server Express Edition: sqlserver-ex

3. Nachdem Sie die Optionsgruppe erstellt haben, müssen Sie die Option Hinzufügen hinzufügen .

4. Wählen Sie als Optionsnamen SQLSERVER_BACKUP_RESTORE . Für die IAM-Rolle ist es am besten, eine neue Rolle zu erstellen.

5. Wählen Sie den S3-Bucket aus, in dem Ihre Datenbankdatei gehostet wird. Wählen Sie für die Planung Sofort .

6. Kehren Sie zu Ihrer AWS RDS MSSQL Server-Instanz zurück und klicken Sie auf Ändern .

7. Wählen Sie die erstellte Optionsgruppe mit aus sql-server-express-backupund klicken Sie dann auf Weiter.

8. Wählen Sie Sofort für die Planung von Änderungen.

9. Go back to your AWS RDS MSSQL Server instance page and scroll down and modify Manage IAM Roles. Add the IAM role you have created in S3. For the Feature, choose S3_INTEGRATION.

Azure Data Studio

Importing the sample database in S3 bucket through restore function

  1. In your connected AWS RDS MSSQL Server, create a new query and type in the following:
exec msdb.dbo.rds_restore_database @restore_db_name='AdventureWorks-test', @s3_arn_to_restore_from='arn:aws:s3:::clark-sample-dbs/AdventureWorks2017.bak';

Refresh your Azure Data Studio. Also, try restarting the application if your database did not appear or don't have permission to access it.

Now you are done! Good job! ???

Resources:

  • //aws.amazon.com/premiumsupport/knowledge-center/native-backup-rds-sql-server/

Connect with me on LinkedIn here