J'ai précédemment expliqué comment installer SQL Server sur un Mac à l'aide de l'image SQL Server pour Linux Docker.
Depuis, Apple a sorti sa puce M1, qui utilise l'architecture ARM. Cela peut entraîner un problème lors de la tentative d'installation de SQL Server. Le problème est qu'au moment de la rédaction, SQL Server n'est pas pris en charge sur l'architecture ARM.
Heureusement, il existe une alternative.
L'image de conteneur pour Azure SQL Edge peut être installée sur le Mac M1. Par conséquent, nous pouvons utiliser cette image au lieu de l'image SQL Server.
Azure SQL Edge est un moteur de base de données relationnelle optimisé conçu pour les déploiements IoT et IoT Edge. Il est construit sur les dernières versions du moteur de base de données SQL Server, vous pouvez donc utiliser le code T-SQL comme vous le feriez avec SQL Server. Vous pouvez également utiliser les mêmes outils pour interroger Azure SQL Edge que vous utiliseriez avec SQL Server (tels que SSMS, Azure Data Studio, etc.).
Dans cet article, j'installe l'édition développeur d'Azure SQL Edge sur un Mac avec la puce M1.
Installer Docker
Étant donné que nous installons SQL Edge via un conteneur Docker, nous devons installer Docker.
Si vous n'avez pas encore Docker, téléchargez-le et installez-le comme suit :
- Téléchargez Docker depuis le site Web de Docker. Assurez-vous de télécharger celui pour le Mac M1 (le bouton s'appelait
Mac with Apple Chip
quand je l'ai téléchargé). - Une fois téléchargé, ouvrez le
.dmg
fichier et faites glisser l'icône Docker.app vers votre dossier Applications comme indiqué. - Lancez Docker de la même manière que vous lanceriez n'importe quelle autre application (par exemple, via le dossier Applications, le Launchpad, etc.). Lorsque vous ouvrez Docker, vous serez peut-être invité à saisir votre mot de passe. Allez-y et fournissez votre mot de passe, car Docker en a besoin pour fonctionner.
Installer Azure SQL Edge
Maintenant que Docker est installé, nous pouvons continuer et installer Azure SQL Edge. Comme mentionné, cela utilise le moteur de base de données SQL Server, et nous pouvons donc l'utiliser pour exécuter des requêtes T-SQL, etc., comme si nous interrogeions SQL Server.
Ouvrez une fenêtre Terminal et exécutez la commande suivante :
docker pull mcr.microsoft.com/azure-sql-edge
Cela extrait/télécharge l'image du conteneur sur votre machine locale.
Vous pouvez également vérifier les options de conteneur sur le site Web de Docker si vous préférez.
Une fois le téléchargement terminé, exécutez la commande suivante pour lancer une instance de l'image Docker que vous venez de télécharger :
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
Assurez-vous de modifier bigStrongPwd
à un mot de passe fort de votre choix. Vous pouvez également modifier la valeur du --name
paramètre si vous le souhaitez.
Par défaut, le conteneur est exécuté avec l'édition Developer. Vous pouvez exécuter l'édition Premium en ajoutant -e 'MSSQL_PID=Premium'
.
Vérifier le conteneur Docker
Nous pouvons utiliser la commande suivante pour vérifier si le conteneur est opérationnel :
docker ps
Résultat :
a190dd199b17 mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" 10 seconds ago Up 9 seconds 1401/tcp, 0.0.0.0:1433->1433/tcp sqledge
Cela me montre que le conteneur est en fait opérationnel.
Si, pour une raison quelconque, votre conteneur n'est pas opérationnel, essayez la commande suivante :
docker start sqledge
Remplacer sqledge
avec le nom de votre conteneur.
Avec le conteneur opérationnel, nous pouvons maintenant continuer et nous connecter à SQL Edge.
Se connecter à SQL Edge
Vous pouvez maintenant vous connecter à votre installation Azure SQL Edge en utilisant les détails fournis lors du lancement de l'image Docker.
Voici une capture d'écran de la connexion à Azure SQL Edge via Azure Data Studio :
Voici comment installer Azure Data Studio sur un Mac.
Microsoft déclare qu'Azure Data Studio "ne prend actuellement pas en charge l'architecture ARM", mais je n'ai eu aucun problème à l'installer sur mon Mac M1 (c'est-à-dire avec l'architecture ARM).
Exécuter des requêtes SQL
Une fois connecté à SQL Edge, vous pouvez créer des bases de données, exécuter des requêtes T-SQL, etc. (T-SQL est l'extension de SQL Server à SQL).
Consultez mon tutoriel SQL pour vous familiariser avec l'exécution de requêtes SQL.
Fonctionnalités prises en charge dans SQL Edge
Je dois mentionner que certaines fonctionnalités de SQL Server ne sont pas prises en charge dans SQL Edge. Azure SQL Edge prend en charge un sous-ensemble des fonctionnalités prises en charge par SQL Server 2019 sur Linux.
Cela dit, SQL Edge possède certaines fonctionnalités qui ne sont pas disponibles dans SQL Server (telles que le DATE_BUCKET()
fonction).
Voir Fonctionnalités prises en charge d'Azure SQL Edge sur le site Web de Microsoft pour une ventilation complète.