J'ai précédemment expliqué comment installer SQL Server sur un Mac via un conteneur Docker. Lorsque j'ai écrit cela, SQL Server 2017 était la dernière version de SQL Server, et il venait d'être mis à disposition pour Linux et Docker (ce qui signifie que vous pouvez également l'installer sur les systèmes MacOS).
Fin 2018, Microsoft a annoncé SQL Server 2019 Preview, puis annoncé la sortie générale fin 2019. Le processus d'installation de SQL Server 2019 est exactement le même que pour SQL Server 2017. La seule différence est que vous devez utiliser l'image du conteneur pour SQL Server 2019 au lieu de l'image 2017. Ici, je vous montre comment faire cela.
De plus, si vous avez déjà installé SQL Server 2017 et que vous souhaitez installer SQL Server 2019 sans supprimer la version 2017, vous devrez allouer un numéro de port différent sur votre hôte. Je vous montre également comment faire cela.
Mais d'abord… si vous utilisez un Mac avec la puce M1, consultez Comment installer SQL Server sur un Mac M1 (ARM64).
Docker
La première étape consiste à installer Docker. Si Docker est déjà installé, vous pouvez ignorer cette étape (et passer directement à SQL Server).
Docker est une plate-forme qui permet aux logiciels de s'exécuter dans leur propre environnement isolé. Par conséquent, SQL Server 2019 peut être exécuté sur Docker dans son propre conteneur isolé.
-
Installer Docker
Pour télécharger, visitez la page de téléchargement de Docker CE pour Mac et cliquez sur Obtenir Docker .
Pour installer, double-cliquez sur le .dmg puis faites glisser le fichier Docker.app icône à votre Application dossier.
-
Lancer Docker
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 afin que Docker puisse installer ses composants réseau et ses liens vers les applications Docker. Allez-y et fournissez votre mot de passe, car Docker en a besoin pour fonctionner.
-
Augmenter la mémoire (facultatif)
Par défaut, Docker se verra attribuer 2 Go de mémoire. Je suggérerais de l'augmenter à 4 Go si vous le pouvez.
Pour ce faire, sélectionnez Préférences depuis la petite icône Docker dans le menu du haut :
Puis sur les Ressources> Avancé l'écran, faites glisser le curseur de mémoire jusqu'à au moins 4 Go :
Puis terminez en cliquant sur Appliquer et redémarrer
SQL Server
Maintenant que Docker a été installé et configuré, nous pouvons télécharger et installer SQL Server 2019.
-
Télécharger SQL Server 2019
Ouvrez une fenêtre de terminal et exécutez la commande suivante.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Cela télécharge la dernière image SQL Server pour Linux Docker sur votre ordinateur.
Vous pouvez également vérifier les différentes options d'image de conteneur sur le site Web de Docker si vous le souhaitez.
-
Lancer l'image Docker
Exécutez la commande suivante pour lancer une instance de l'image Docker que vous venez de télécharger :
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1433:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
Changez simplement
Bart
au nom de votre choix, etreallyStrongPwd#123
à un mot de passe de votre choix.Si vous obtenez une erreur "port déjà alloué", voir ci-dessous.
Voici une explication des paramètres :
-e 'ACCEPT_EULA=Y'
- Le
Y
indique que vous êtes d'accord avec le CLUF (contrat de licence utilisateur final). Ceci est obligatoire. -e 'SA_PASSWORD=reallyStrongPwd#123'
- Paramètre obligatoire qui définit le
sa
mot de passe de la base de données. -p 1433:1433
- Cela mappe le port local 1433 au port 1433 sur le conteneur. La première valeur est le port TCP sur l'environnement hôte. La deuxième valeur est le port TCP dans le conteneur.
--name Bart
- Un autre paramètre facultatif. Ce paramètre permet de nommer le conteneur. Cela peut être pratique lors de l'arrêt et du démarrage de votre conteneur depuis le terminal. Vous préférerez peut-être lui donner un nom plus descriptif comme
sql_server_2019
ou similaire. -d
- Ce paramètre facultatif lance le conteneur Docker en mode démon. Cela signifie qu'il s'exécute en arrière-plan et n'a pas besoin de sa propre fenêtre Terminal ouverte. Vous pouvez omettre ce paramètre pour que le conteneur s'exécute dans sa propre fenêtre Terminal.
mcr.microsoft.com/mssql/server:2019-latest
- Cela indique à Docker quelle image utiliser.
Force du mot de passe
Vous devez utiliser un mot de passe fort. Microsoft dit ceci à propos du mot de passe :
Le mot de passe doit suivre la politique de mot de passe par défaut de SQL Server, sinon le conteneur ne peut pas configurer le serveur SQL et cessera de fonctionner. Par défaut, le mot de passe doit comporter au moins 8 caractères et contenir des caractères de trois des quatre ensembles suivants :lettres majuscules, lettres minuscules, chiffres en base 10 et symboles.
Erreur - "Port déjà alloué" ?
Si vous obtenez une erreur qui dit quelque chose à propos de "le port est déjà alloué", alors peut-être que SQL Server est déjà installé sur un autre conteneur qui utilise ce port. Dans ce cas, vous devrez mapper sur un port différent sur l'hôte.
Par conséquent, vous pouvez remplacer la commande ci-dessus par quelque chose comme ceci :
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1400:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
Dans ce cas, j'ai simplement changé
-p 1433:1433
à-p 1400:1433
. Tout le reste reste le même.Vous pouvez maintenant obtenir une erreur indiquant que vous devez d'abord supprimer le conteneur existant. Pour ce faire, exécutez ce qui suit (mais échangez
Bart
avec le nom de votre propre conteneur):sudo docker rm Bart
Une fois supprimé, vous pouvez réessayer d'exécuter la commande précédente.
Notez que si vous modifiez le port comme je l'ai fait ici, vous devrez probablement inclure le numéro de port lors de la connexion à SQL Server à partir de n'importe quel outil de base de données de votre bureau. Par exemple, lors de la connexion via Azure Data Studio (mentionné ci-dessous), vous pouvez vous connecter en utilisant
Localhost,1400
au lieu de simplementLocalhost
. Idem avec mssql-cli, qui est un outil SQL en ligne de commande.
Tout vérifier
Maintenant que nous avons fait cela, nous devrions être prêts à partir. Passons en revue et effectuons quelques vérifications.
-
Vérifiez le conteneur Docker (facultatif)
Vous pouvez taper la commande suivante pour vérifier que le conteneur Docker est en cours d'exécution.
sudo docker ps -a
Dans mon cas, j'obtiens ceci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1b060f68fcb mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/sqls…" About a minute ago Up About a minute 0.0.0.0:1400->1433/tcp Bart fdec67e6a28d microsoft/mssql-server-linux "/opt/mssql/bin/sqls…" 4 months ago Up 8 days 0.0.0.0:1433->1433/tcp Homer
Cela me dit que j'ai deux conteneurs Docker en cours d'exécution :l'un appelé Bart et l'autre appelé Homer .
-
Se connecter à SQL Server
Ici, nous utilisons l'outil de ligne de commande SQL Server appelé "sqlcmd" à l'intérieur du conteneur pour nous connecter à SQL Server.
sudo docker exec -it Bart "bash"
Entrez votre mot de passe si vous y êtes invité.
Maintenant que vous êtes à l'intérieur du conteneur, connectez-vous localement avec sqlcmd :
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
Cela devrait vous amener à l'invite sqlcmd 1> .
-
Exécuter un test rapide
Exécutez un test rapide pour vérifier que SQL Server est opérationnel. Par exemple, vérifiez la version de SQL Server en saisissant ceci :
SELECT @@version
Cela vous amènera à une invite de commande 2> sur la ligne suivante. Pour exécuter la requête, saisissez :
GO
Résultat :
+--------------------+ | (No column name) | |--------------------| | Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) Mar 4 2020 00:59:26 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) | +--------------------+ (1 row affected)
Si vous voyez un message comme celui-ci, félicitations :SQL Server est désormais opérationnel sur votre Mac !
Si vous préférez utiliser une interface graphique pour gérer SQL Server, lisez la suite.
Azure Data Studio
Azure Data Studio est un outil de gestion d'interface graphique gratuit que vous pouvez utiliser pour gérer SQL Server sur votre Mac. Vous pouvez l'utiliser pour créer et gérer des bases de données, écrire des requêtes, sauvegarder et restaurer des bases de données, etc.
Azure Data Studio est disponible sur Windows, Mac et Linux.
Voici quelques articles/tutoriels que j'ai écrits pour Azure Data Studio :
- Qu'est-ce qu'Azure Data Studio
- Comment installer Azure Data Studio sur votre Mac
- Comment créer une base de données avec Azure Data Studio
- Comment restaurer une base de données avec Azure Data Studio sur un Mac
Une autre interface graphique SQL Server gratuite :DBeaver
Un autre outil d'interface graphique SQL Server que vous pouvez utiliser sur votre Mac (et Windows/Linux/Solaris) est DBeaver.
DBeaver est un outil de gestion de base de données gratuit et open source qui peut être utilisé sur la plupart des systèmes de gestion de base de données (tels que MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby, etc. ).
J'ai écrit une petite introduction à DBeaver, ou vous pouvez aller directement à la page de téléchargement de DBeaver et l'essayer avec votre nouvelle installation SQL Server.