Share via


Restaurer l’exemple de base de données AdventureWorks dans SQL Managed Instance – Azure Arc

AdventureWorks est un exemple de base de données contenant une base de données OLTP souvent utilisée dans des tutoriels et pour des exemples. Il est fourni et géré par Microsoft dans le Dépôt GitHub d’échantillons SQL Server.

Ce document décrit un processus simple pour récupérer l’exemple de base de données AdventureWorks dans votre SQL Managed Instance – Azure Arc.

Télécharger le fichier de sauvegarde AdventureWorks

Téléchargez le fichier de sauvegarde (.bak) AdventureWorks dans votre conteneur SQL Managed Instance. Dans cet exemple, utilisez la commande kubectl exec pour exécuter à distance une commande à l’intérieur du conteneur SQL Managed Instance afin de télécharger le fichier. bak dans le conteneur. Téléchargez ce fichier à partir de n’importe quel emplacement accessible par wget si vous avez d’autres fichiers de sauvegarde de base de données que vous souhaitez extraire dans le conteneur SQL Managed Instance. Une fois le fichier dans le conteneur SQL Managed Instance, il est facile de le restaurer à l’aide de la commande T-SQL RESTORE DATABASE standard.

Exécutez une commande comme celle-ci pour télécharger le fichier. bak en remplaçant la valeur du nom de pod et du nom d’espace de noms avant de l’exécuter.

Remarque

Pour pouvoir télécharger le fichier à partir de GitHub, votre conteneur doit disposer d’une connexion Internet sur le port 443

kubectl exec <SQL pod name> -n <namespace name> -c arc-sqlmi -- wget https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2019.bak -O /var/opt/mssql/data/AdventureWorks2019.bak

Exemple

kubectl exec sqltest1-0 -n arc -c arc-sqlmi -- wget https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2019.bak -O /var/opt/mssql/data/AdventureWorks2019.bak

Restaurer la base de données AdventureWorks

De même, vous pouvez exécuter une commande exec kubectl pour utiliser l’outil d’interface de ligne de commande sqlcmd inclus dans le conteneur SQL Managed Instance afin d’exécuter la commande T-SQL RESTORE DATABASE.

Exécutez une commande comme celle-ci pour restaurer la base de données. Remplacez la valeur du nom de pod, le mot de passe et du nom d’espace de noms avant de l’exécuter.

kubectl exec <SQL pod name> -n <namespace name> -c arc-sqlmi -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <password> -Q "RESTORE DATABASE AdventureWorks2019 FROM  DISK = N'/var/opt/mssql/data/AdventureWorks2019.bak' WITH MOVE 'AdventureWorks2017' TO '/var/opt/mssql/data/AdventureWorks2019.mdf', MOVE 'AdventureWorks2017_Log' TO '/var/opt/mssql/data/AdventureWorks2019_Log.ldf'"

Exemple

kubectl exec sqltest1-0 -n arc -c arc-sqlmi -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P MyPassword! -Q "RESTORE DATABASE AdventureWorks2019 FROM DISK = N'/var/opt/mssql/data/AdventureWorks2019.bak' WITH MOVE 'AdventureWorks2017' TO '/var/opt/mssql/data/AdventureWorks2019.mdf', MOVE 'AdventureWorks2017_Log' TO '/var/opt/mssql/data/AdventureWorks2019_Log.ldf'"