Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous utiliserez une seule commande sqlcmd pour créer un nouveau conteneur et restaurer une base de données dans ce conteneur afin de créer une nouvelle copie locale d'une base de données, à des fins de développement ou de test.
Prérequis
- Un runtime de conteneur installé, comme Docker ou Podman.
- Télécharger et installer Azure Data Studio
- Installer la dernière version de sqlcmd
Notes
L’installation de sqlcmd (Go) par le biais d’un gestionnaire de package remplace sqlcmd (ODBC) par sqlcmd (Go) dans le chemin d’accès de votre environnement. Toutes les sessions de ligne de commande actuelles doivent être fermées et ouvertes de nouveau pour que cette modification prenne effet. sqlcmd (ODBC) n’est pas supprimé et peut toujours être utilisé en spécifiant le chemin complet de l’exécutable.
Vous pouvez également mettre à jour votre PATH variable pour indiquer quelle version est prioritaire. Pour ce faire dans Windows 11, ouvrez Paramètres système et accédez à À propos des > paramètres système avancés. Lorsque Propriétés système s'ouvre, sélectionnez le bouton Variables d'environnement. Dans la moitié inférieure, sous Variables système, sélectionnez Chemin d'accès, puis Modifier. Si l'emplacement sqlcmd (Go) est enregistré dans (C:\Program Files\sqlcmd est par défaut) est répertorié avant C:\Program Files\Microsoft SQL Server\<version>\Tools\Binn, sqlcmd (Go) est alors utilisé.
Vous pouvez inverser l’ordre pour rétablir sqlcmd (ODBC) comme valeur par défaut.
Télécharger et installer sqlcmd (Go)
Pour plus d’informations, consultez Télécharger et installer l’utilitaire sqlcmd.
Quel problème résoudrons-nous ?
Ce guide de démarrage rapide décrit le processus de création d’une copie locale d’une base de données, puis l’interroge pour analyser les dépenses du client.
Créer un nouveau container et restaurer une base de données
Créez une instance SQL Server dans un conteneur à l’aide de la dernière version de SQL Server. La commande restaure également la base de données WideWorldImporters.
Ouvrez une nouvelle fenêtre de terminal et exécutez la commande suivante :
sqlcmd create mssql --name sql1 --accept-eula --using https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak
Interroger la base de données avec Azure Data Studio
Ouvrez Azure Data Studio et examinez les données.
Dans la même fenêtre de terminal, exécutez la commande suivante :
sqlcmd open adsMaintenant que vous disposez d’une copie locale de votre base de données, vous pouvez exécuter des requêtes. Voici une requête que vous pouvez utiliser pour analyser les dépenses par le client :
SELECT bg.BuyingGroupName AS CustomerName, COUNT(DISTINCT i.InvoiceID) AS InvoiceCount, COUNT(il.InvoiceLineID) AS InvoiceLineCount, SUM(il.LineProfit) AS Profit, SUM(il.ExtendedPrice) AS ExtendedPrice FROM Sales.Invoices AS i INNER JOIN Sales.Customers AS c ON i.CustomerID = c.CustomerID INNER JOIN Sales.InvoiceLines AS il ON i.InvoiceID = il.InvoiceID INNER JOIN Sales.BuyingGroups AS bg ON c.BuyingGroupID = bg.BuyingGroupID GROUP BY bg.BuyingGroupName UNION SELECT c.CustomerName, COUNT(DISTINCT i.InvoiceID) AS InvoiceCount, COUNT(il.InvoiceLineID) AS InvoiceLineCount, SUM(il.LineProfit) AS Profit, SUM(il.ExtendedPrice) AS ExtendedPrice FROM Sales.Invoices AS i INNER JOIN Sales.Customers AS c ON i.CustomerID = c.CustomerID INNER JOIN Sales.InvoiceLines AS il ON i.InvoiceID = il.InvoiceID LEFT OUTER JOIN Sales.BuyingGroups AS bg ON c.BuyingGroupID = bg.BuyingGroupID WHERE bg.BuyingGroupID IS NULL GROUP BY c.CustomerName ORDER BY Profit DESC;
Comment avons-nous résolu le problème ?
Vous avez pu créer rapidement une copie locale d’une base de données à des fins de développement et de test. En utilisant une seule commande, vous avez créé une nouvelle instance locale et restauré la sauvegarde la plus récente sur celle-ci. Vous avez ensuite exécuté une autre commande pour vous y connecter à l’aide d’Azure Data Studio. Vous avez ensuite interrogé la base de données à l’aide d’Azure Data Studio pour analyser les dépenses par le client.
Nettoyer les ressources
Lorsque vous avez terminé d’essayer la base de données, supprimez le conteneur en utilisant la commande suivante :
sqlcmd delete --force
L’indicateur --force est utilisé ici pour des raisons pratiques, car nous sommes dans un environnement de démonstration. Il est très souvent préférable de laisser l’indicateur --force désactivé pour vous assurer que vous ne supprimez pas par inadvertance une base de données.