Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment installer SQL Server sur un Mac

Ici, je vais vous montrer comment faire fonctionner SQL Server sur votre Mac en moins d'une demi-heure. Et le meilleur, c'est que SQL Server s'exécute localement sans avoir besoin d'un logiciel de virtualisation.

Avant SQL Server 2017, si vous vouliez exécuter SQL Server sur votre Mac, vous deviez d'abord créer une machine virtuelle (à l'aide de VirtualBox, Parallels Desktop, VMware Fusion ou Bootcamp), puis installer Windows sur cette machine virtuelle, puis enfin SQL Server . C'est toujours une option valide en fonction de vos besoins (voici comment installer SQL Server sur un Mac avec VirtualBox si vous souhaitez essayer cette méthode).

À partir de SQL Server 2017, vous pouvez désormais installer SQL Server directement sur une machine Linux. Et parce que macOS est basé sur Unix (et Linux est basé sur Unix), vous pouvez exécuter SQL Server pour Linux sur votre Mac. Pour ce faire, exécutez SQL Server sur Docker.

Alors allons-y et installons Docker. Ensuite, nous téléchargerons et installerons SQL Server.

Mais d'abord… si vous utilisez un Mac avec la puce M1, consultez Comment installer SQL Server sur un Mac M1 (ARM64).

  1. Installer Docker

    Téléchargez Docker Community Edition (gratuit) pour Mac (sauf si vous l'avez déjà installé sur votre système). Cela vous permettra d'exécuter SQL Server à partir d'un conteneur 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.

    Qu'est-ce que Docker ?

    Docker est une plate-forme qui permet aux logiciels de s'exécuter dans leur propre environnement isolé. SQL Server (à partir de 2017) peut être exécuté sur Docker dans son propre conteneur isolé. Une fois Docker installé, il vous suffit de télécharger - ou "extraire" - l'image SQL Server sur Linux Docker sur votre Mac, puis de l'exécuter en tant que conteneur Docker. Ce conteneur est un environnement isolé qui contient tout ce dont SQL Server a besoin pour s'exécuter.

  2. 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.

  3. Augmenter la mémoire (facultatif)

    Par défaut, Docker peut avoir 2 Go de mémoire qui lui sont alloués. SQL Server a besoin d'au moins 2 Go. Cependant, cela ne fera pas de mal de l'augmenter si vous le pouvez.

    Dans mon cas, je l'ai augmenté à 4 Go.

    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

  4. Télécharger SQL Server

    Maintenant que Docker est installé, nous pouvons télécharger et installer SQL Server pour Linux.

    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 2019 pour Linux Docker sur votre ordinateur.

    Vous pouvez également vérifier la dernière version du conteneur sur le site Web de Docker si vous le souhaitez.

  5. Lancer l'image Docker

    Exécutez la commande suivante pour lancer une instance de l'image Docker que vous venez de télécharger :

    docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest
    

    Mais bien sûr, utilisez votre propre nom et mot de passe. De même, si vous avez téléchargé une autre image Docker, remplacez mcr.microsoft.com/mssql/server:2019-latest avec celui que vous avez téléchargé.

    Voici une explication des paramètres :

    -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.
    --name sql_server_demo 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.
    -e 'ACCEPT_EULA=Y' Le Y indique que vous êtes d'accord avec le CLUF (contrat de licence utilisateur final). Ceci est nécessaire pour que SQL Server pour Linux s'exécute sur votre Mac.
    -e 'SA_PASSWORD=reallyStrongPwd123' 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. Il s'agit du port TCP par défaut utilisé par SQL Server pour écouter les connexions.
    mcr.microsoft.com/mssql/server:2019-latest Cela indique à Docker quelle image utiliser. Si vous en avez téléchargé un autre, utilisez-le à la place.

    Force du mot de passe

    Si vous obtenez l'erreur suivante à cette étape, réessayez, mais avec un mot de passe plus fort.

    Microsoft(R) SQL Server(R) setup failed with error code 1. Please check the setup log in /var/opt/mssql/log for more information.
    

    J'ai reçu cette erreur lors de l'utilisation de reallyStrongPwd comme mot de passe (mais bien sûr, ce n'est pas un mot de passe vraiment fort !). J'ai pu surmonter cela en ajoutant quelques chiffres à la fin. Cependant, s'il ne s'agissait pas simplement d'une démo, je la rendrais certainement plus forte que quelques mots et chiffres du dictionnaire.

  6. 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.

    docker ps
    

    S'il est opérationnel, il devrait renvoyer quelque chose comme ceci :

    CONTAINER ID        IMAGE                                        COMMAND                CREATED             STATUS              PORTS                    NAMES
    4e4aa21eb391        mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/sqls…" 23 seconds ago      Up 21 seconds       0.0.0.0:1433->1433/tcp   sql_server_demo
    
  7. Installer sql-cli (sauf s'il est déjà installé)

    Exécutez la commande suivante pour installer l'outil de ligne de commande sql-cli. Cet outil vous permet d'exécuter des requêtes et d'autres commandes sur votre instance SQL Server.

    npm install -g sql-cli
    

    Cela suppose que vous avez installé NodeJs. Si vous ne le faites pas, téléchargez-le d'abord depuis Nodejs.org. L'installation de NodeJs installera automatiquement npm c'est ce que nous utilisons dans cette commande pour installer sql-cli.

    Erreur d'autorisation ?

    Si vous obtenez une erreur et qu'une partie de celle-ci lit quelque chose comme Veuillez réessayer d'exécuter cette commande en tant que root/Administrateur , réessayez, mais cette fois ajoutez sudo à votre commande :

    sudo npm install -g sql-cli
    
  8. Se connecter à SQL Server

    Maintenant que sql-cli est installé, nous pouvons commencer à travailler avec SQL Server via la fenêtre Terminal sur notre Mac.

    Connectez-vous à SQL Server en utilisant le mssql commande, suivi des paramètres de nom d'utilisateur et de mot de passe.

    mssql -u sa -p reallyStrongPwd123
    

    Vous devriez voir quelque chose comme ceci :

    Connecting to localhost...done
    
          sql-cli version 0.6.0
          Enter ".help" for usage hints.
          mssql>
    

    Cela signifie que vous vous êtes connecté avec succès à votre instance de SQL Server.

  9. Exécuter un test rapide

    Exécutez un test rapide pour vérifier que SQL Server est opérationnel et que vous pouvez l'interroger.

    Par exemple, vous pouvez exécuter la commande suivante pour voir quelle version de SQL Server vous utilisez :

    select @@version
    

    S'il est en cours d'exécution, vous devriez voir quelque chose comme ceci (mais bien sûr, cela dépendra de la version que vous utilisez) :

    +--------------------+
    | (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 !

    Vous pouvez maintenant continuer et exécuter des requêtes SQL sur SQL Server.

    Consultez mon didacticiel SQL gratuit pour les débutants pour commencer à écrire des requêtes simples sur SQL Server.

Une interface graphique SQL Server pour votre Mac – Azure Data Studio

Azure Data Studio (anciennement SQL Operations 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.

Limites de SQL Server pour Linux/Mac

SQL Server pour Linux présente certaines limitations par rapport aux éditions Windows (bien que cela puisse changer avec le temps). La version Linux n'inclut pas de nombreux services supplémentaires disponibles dans la version Windows, tels que Analysis Services, Reporting Services, etc. Voici une liste de ce qui est disponible et de ce qui ne l'est pas sur SQL Server 2017 pour Linux et voici la liste de Microsoft des Éditions et fonctionnalités prises en charge de SQL Server 2019 sur Linux.

Une autre limitation est que  SQL Server Management Studio n'est pas disponible sur Mac ou Linux. SSMS est une gestion complète de l'interface graphique pour SQL Server, et il fournit beaucoup plus de fonctionnalités qu'Azure Data Studio et DBeaver (du moins au moment de la rédaction). Vous pouvez toujours utiliser SSMS sur une machine Windows pour vous connecter à SQL Server sur une machine Linux ou Mac, mais vous ne pouvez tout simplement pas l'installer localement sur la machine Linux ou Mac.

Si vous avez besoin de l'une des fonctionnalités non prises en charge dans SQL Server pour Linux, vous aurez besoin de SQL Server pour Windows. Cependant, vous pouvez toujours exécuter SQL Server pour Windows sur votre Mac à l'aide d'un logiciel de virtualisation. Voici comment installer SQL Server pour Windows sur un Mac à l'aide de VirtualBox.