Comment installer le serveur MSSQL et / ou les outils pour Linux sur 16.04?

14

Ce message a été créé pour essayer d'être une paire de questions / réponses canoniques «attraper tout» pour les questions «Comment installer le serveur MSSQL» et «Comment installer les outils du serveur MSSQL».

Je cherche à configurer MS SQL Server pour Linux, et très probablement ses outils (sur le serveur lui-même ou d'autres systèmes) afin de pouvoir interagir avec SQL Server. Comment puis-je m'y prendre?

Thomas Ward
la source
1
Notez que j'ai un serveur MSSQL disponible via 16.04 et les outils sur ce même serveur. J'utilise MSSQL Management Studio depuis mon ordinateur Windows pour tout gérer, et DataGrip et d'autres interfaces Python pour réellement utiliser le serveur MSSQL et le gérer.
Thomas Ward

Réponses:

18

Cette réponse couvre l'installation du serveur et des outils MSSQL pour tout système 16.04. Il ne couvre pas la solution Docker pour obtenir MSSQL Server sur un système. Une réponse distincte sera écrite pour MSSQL Server via l'option d'installation Docker pour SQL Server.

Il y a quelques composants différents ici dans les packages des référentiels Microsoft uniquement.

  1. mssql-server - Aperçu de Microsoft SQL Server pour Linux
  2. mssql-tools- sqlcmd, etc. commandes pour interagir avec MSSQL Server.

Il y a quelques mises en garde diaboliques ici:

  1. Vous devez avoir 16.04 pour tous les composants; cela ne fonctionne PAS sur les anciennes versions.
  2. Pour le moment, seules les versions 64 bits des packages sont disponibles. Vous ne pourrez pas exécuter mssql-serveret peut-être pas les outils non plus, sauf si vous êtes sur des systèmes 64 bits.

Toutes les commandes ci-dessous proviennent des étapes suggérées par Microsoft. Je ne suggère pas d'utiliser certaines de ces commandes en dehors de suivre exactement ces étapes , en raison de la nature des risques de sécurité que certaines des procédures introduisent ici (comme la connexion à un shell de superutilisateur).


mssql-serverétapes d'installation ( source )

Ces étapes couvrent la configuration de MS SQL Server pour Linux Public Preview. Ceci et la méthode Docker sont les deux méthodes pour configurer MSSQL Server pour Linux.

Mises en garde:

  1. Vous devez disposer d'un système 64 bits pour MSSQL Server.
  2. Vous avez besoin d'au moins 4 Go de RAM sur le système pour installer MSSQL Server.
  3. Vous devez avoir Ubuntu 16.04 pour cela, il n'y a actuellement aucune autre version sur leurs serveurs de référentiel.

Pour installer le mssql-serverpackage sur Ubuntu, procédez comme suit:

  1. Passez en mode superutilisateur.

    sudo su
    
  2. Importez les clés GPG du référentiel public:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Enregistrez le référentiel Ubuntu Microsoft SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Quittez le mode superutilisateur.

    exit
    
  5. Exécutez les commandes suivantes pour installer SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Une fois l'installation du package terminée, exécutez le script de configuration et suivez les invites.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Une fois la configuration terminée, vérifiez que le service est en cours d'exécution:

    systemctl status mssql-server
    

Voir: Démarrage rapide: installez SQL Server et créez une base de données sur Ubuntu .


mssql-toolsÉtapes d'installation ( source )

Cette section couvre la configuration de mssql-toolslaquelle comprend la sqlcmdcommande. Ces étapes sont nécessaires pour tous les systèmes sur lesquels vous souhaitez utiliser la sqlcmdcommande ou d'autres utilitaires d'origine Microsoft sous Linux pour interagir avec un serveur MSSQL.

(Ceci n'est pas requis pour d'autres bibliothèques Python pour interagir avec MSSQL, ou d'autres utilitaires tels que DataGrip qui peuvent interagir avec des serveurs, etc., qui n'ont pas besoin du mssql-toolspacakge pour fonctionner.)

Mises en garde:

  1. Je n'en ai pas trouvé de version pour les systèmes non 64 bits. Vous aurez peut-être besoin d'un système 64 bits pour faire fonctionner ces outils.
  2. Vous ne pouvez actuellement utiliser des outils que le 16.04.
  1. Entrer en mode superutilisateur

    sudo su
    
  2. Importez les clés GPG du référentiel public:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Enregistrez le référentiel Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Quitter le mode superutilisateur:

    exit
    
  5. Mettez à jour la liste des sources et exécutez la commande d'installation:

    sudo apt-get update
    sudo apt-get install mssql-tools
    
Thomas Ward
la source
Comme mentionné dans la solution docker - ici, il faut également dire que le serveur mssql ne fonctionnera que sur l'architecture amd64 (contrairement à arm ou arm64, qui est proposé sur certains clouds).
userfuser
1
Il convient de noter qu'il sqlservr-setupa été renommé mssql-conf setup.
Tom
Il dit dans votre sourceque sql nécessite 2 Go et non 4 Go de Ram comme vous l'avez mentionné.
Offir Pe'er
9

Utilisation de Docker (amd64 uniquement)

Il est également possible d'exécuter MSSQL Server sur Ubuntu à l'aide de Docker. Cela peut être fait en suivant attentivement les étapes ci-dessous:

  1. Si vous utilisez Ubuntu 14.04 ou toute autre version antérieure à Xenial (16.04) , vous devrez installer une version plus récente de Docker que celle fournie par les archives.

    Si oui, suivez les instructions sur cette page .

    Sinon, lancez simplement:

    sudo apt-get install docker.io
    
  2. Vérifiez que vous pouvez vous connecter au démon Docker local à l'aide de:

    docker info
    

    Si vous recevez une erreur telle que Cannot connect to the Docker daemon., vous devrez vous ajouter au dockergroupe:

    sudo usermod -a -G docker <USERNAME>
    

    ... où <USERNAME>est remplacé par votre nom d'utilisateur. Vous devrez vous déconnecter et vous reconnecter pour que les modifications prennent effet.

  3. Tirez l'image MSSQL depuis Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Créez un répertoire sur l'hôte qui stockera les données du conteneur et gardez la valeur dans une variable d'environnement pour plus de commodité:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Démarrez le conteneur:

    docker run \
        -d \
        --name mssql \
        -e 'ACCEPT_EULA=Y' \
        -e 'SA_PASSWORD=<PASSWORD>' \
        -p 1433:1433 \
        -v $DIR:/var/opt/mssql \
        microsoft/mssql-server-linux
    

    Remplacez <PASSWORD>par une valeur unique qui sera utilisée pour l'authentification ultérieurement.

  6. Vérifiez que le conteneur a démarré sans erreur:

    docker ps -af name=mssql
    

    Si la STATUScolonne affiche "Up ..." sous la STATUScolonne, alors tout fonctionne correctement. Si toutefois une erreur s'affiche:

    CONTAINER ID ... STATUS ...
    ba79fa12fbf1 ... Exited (0) 3 seconds ago ...
    

    ... alors vous pouvez utiliser docker logs mssqlpour obtenir de plus amples informations.

Pour vous connecter au conteneur à partir d'une application, spécifiez simplement le port 1433.

Par défaut, le conteneur est démarré lorsque vous le commencez run. Vous pouvez arrêter le conteneur avec:

docker stop mssql

Pour retirer le conteneur, arrêtez-le d'abord, puis exécutez:

docker rm mssql
Nathan Osman
la source
Testé sous 18.04. Merci, ça marche et c'est très rapide.
Joe Eifert
Nom d'utilisateur: sa, le mot de passe doit être composé d'au moins 8 caractères et chiffres et de lettres supérieure et inférieure. Sinon, vous ne pourrez pas vous connecter. Plus d'informations ici: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert