Article original : How to Import a Sample Database to your AWS RDS Microsoft SQL Server using S3
Par Clark Jason Ngo
Ce guide a été créé car il était si difficile de trouver un moyen de manipuler une base de données d'exemple en utilisant AWS RDS MSSQL Server. J'espère que vous trouverez cela utile.
Si vous n'avez pas encore configuré votre AWS RDS Microsoft SQL Server et Azure Data Studio, consultez d'abord ce guide : Comment connecter votre AWS RDS Microsoft SQL Server en utilisant Azure Data Studio.
Nous allons aborder les technologies présentées ci-dessous :

- Base de données : AWS RDS Microsoft SQL Server Express Edition
- Outil de base de données et GUI : Azure Data Studio
- Copie de sauvegarde de la base de données d'exemple : Amazon S3 Bucket
Copie de sauvegarde de la base de données d'exemple AdventureWorks
Pour obtenir les téléchargements OLTP de AdventureWorks, allez sur ce lien et choisissez n'importe quelle base de données d'exemple. Dans mon exemple, j'ai choisi AdventureWorks2017.bak. Nous allons télécharger cela dans le S3 Bucket.
Amazon S3 Bucket
Création du S3 Bucket
- Créez un bucket. Vous pouvez choisir n'importe quel nom de bucket (exemple : votrenom-sample-dbs).

- Assurez-vous que la région est la même que celle de l'instance AWS RDS.

Cochez les cases suivantes :
Bloquer l'accès public aux buckets et objets accordé via les nouvelles listes de contrôle d'accès (ACL)
- Bloquer l'accès public et les objets accordés via toute liste de contrôle d'accès (ACL)

- Accédez à nouveau à votre bucket en cliquant sur le bucket que vous avez créé.

Téléchargement du fichier vers le bucket S3
- Cliquez sur Télécharger.

- Choisissez le fichier de sauvegarde de la base de données. Par exemple :
AdventureWorks2017.bak. Continuez à choisir Suivant et choisissez Télécharger dans la section Révision.

- Mettez à jour votre Stratégie de Bucket pour permettre l'accès à votre Bucket S3. Notez que votre ARN sera différent du mien. Cliquez sur Enregistrer ensuite.
{
"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
Création d'un Groupe d'options pour votre instance RDS
- Cliquez sur Groupes d'options,

- Créez un groupe d'options. Choisissez n'importe quel nom et description. Pour le Moteur, il doit correspondre à votre instance RDS. Dans mon exemple, j'ai utilisé SQL Server Express Edition donc je choisis
sqlserver-ex.
Voici les Moteurs suivants et leurs abréviations :
- SQL Server Enterprise Edition :
sqlserver-ee - SQL Server Standard Edition :
sqlserver-se - SQL Server Web Edition :
sqlserver-web - SQL Server Express Edition :
sqlserver-ex

- Une fois que vous avez créé le groupe d'options, vous devrez Ajouter une option.

- Choisissez SQLSERVER_BACKUP_RESTORE pour le nom de votre option. Pour le rôle IAM, il est préférable de créer un nouveau rôle.

- Choisissez le bucket S3 où votre fichier de base de données est hébergé. Pour la planification, choisissez Immédiatement.

- Retournez à votre instance AWS RDS MSSQL Server et cliquez sur Modifier.

- Choisissez le groupe d'options créé avec
sql-server-express-backup, puis cliquez sur Continuer.

- Choisissez Appliquer immédiatement pour la planification des modifications.

- Retournez à la page de votre instance AWS RDS MSSQL Server et faites défiler vers le bas pour modifier Gérer les rôles IAM. Ajoutez le rôle IAM que vous avez créé dans S3. Pour la Fonctionnalité, choisissez S3_INTEGRATION.


Azure Data Studio
Importation de la base de données d'exemple dans le bucket S3 via la fonction de restauration
- Dans votre AWS RDS MSSQL Server connecté, créez une nouvelle requête et tapez ce qui suit :
exec msdb.dbo.rds_restore_database
@restore_db_name='AdventureWorks-test',
@s3_arn_to_restore_from='arn:aws:s3:::clark-sample-dbs/AdventureWorks2017.bak';

Actualisez votre Azure Data Studio. Essayez également de redémarrer l'application si votre base de données n'est pas apparue ou si vous n'avez pas la permission d'y accéder.
Vous avez terminé ! Bon travail ! 🎉
Ressources :
Connectez-vous avec moi sur LinkedIn ici
