Wie installiere ich MSSQL Server und / oder Tools für Linux unter 16.04?


14

Dieser Beitrag wurde erstellt, um zu versuchen, ein kanonisches Frage-Antwort-Paar für die Fragen "Wie installiere ich MSSQL Server" und "Wie installiere ich MSSQL Server-Tools" zu werden.

Ich versuche, MS SQL Server für Linux und möglicherweise seine Tools (auf dem Server selbst oder auf anderen Systemen) einzurichten, damit ich mit SQL Server interagieren kann. Wie kann ich das machen?


1
Beachten Sie, dass ich über 16.04 einen MSSQL-Server und die Tools auf demselben Server habe. Ich verwende MSSQL Management Studio von meinem Windows-Computer aus, um alles zu verwalten, und DataGrip und andere Python-Oberflächen, um den MSSQL Server tatsächlich zu verwenden und zu verwalten.
Thomas Ward

Antworten:


18

Diese Antwort behandelt die Installation von MSSQL Server und Tools für alle 16.04-Systeme. Die Docker-Lösung zum Abrufen von MSSQL Server auf einem System wird nicht behandelt. Für MSSQL Server wird eine separate Antwort über die Docker-Installationsoption für SQL Server geschrieben.

Es gibt hier einige verschiedene Komponenten in Paketen, die nur aus Microsoft-Repositorys stammen.

  1. mssql-server - Microsoft SQL Server für Linux-Vorschau
  2. mssql-tools- sqlcmdusw. Befehle zur Interaktion mit MSSQL Server.

Hier gibt es einige böse Vorsichtsmaßnahmen:

  1. Sie müssen 16.04 für alle Komponenten haben; Es funktioniert NICHT auf älteren Versionen.
  2. Derzeit sind nur 64-Bit-Versionen der Pakete verfügbar. Sie können mssql-serverdie Tools möglicherweise auch nicht ausführen, es sei denn, Sie befinden sich auf 64-Bit-Systemen.

Alle folgenden Befehle stammen aus den von Microsoft vorgeschlagenen Schritten. Ich behaupte nicht , einige dieser Befehle außerhalb der folgenden Schritte mit genau , aufgrund der Art von Sicherheitsrisiken , dass einige der Verfahren hier einführen (wie Logging in eine Super - User - Shell).


mssql-serverInstallationsschritte ( Quelle )

Diese Schritte umfassen das Einrichten von MS SQL Server für Linux Public Preview. Dies und die Docker-Methode sind die beiden Methoden zum Einrichten von MSSQL Server für Linux.

Vorsichtsmaßnahmen:

  1. Sie benötigen ein 64-Bit-System für MSSQL Server.
  2. Sie benötigen mindestens 4 GB RAM auf dem System, damit MSSQL Server installiert werden kann.
  3. Sie müssen Ubuntu 16.04 dafür haben, derzeit befinden sich keine anderen Versionen auf ihren Repository-Servern.

Gehen Sie folgendermaßen vor, um das mssql-serverPaket unter Ubuntu zu installieren :

  1. Aktivieren Sie den Superuser-Modus.

    sudo su
    
  2. Importieren Sie die GPG-Schlüssel des öffentlichen Repositorys:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Registrieren Sie das Microsoft SQL Server Ubuntu-Repository:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Beenden Sie den Superuser-Modus.

    exit
    
  5. Führen Sie die folgenden Befehle aus, um SQL Server zu installieren:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Führen Sie nach Abschluss der Paketinstallation das Konfigurationsskript aus und befolgen Sie die Anweisungen.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Stellen Sie nach Abschluss der Konfiguration sicher, dass der Dienst ausgeführt wird:

    systemctl status mssql-server
    

Siehe: Schnellstart: Installieren von SQL Server und Erstellen einer Datenbank unter Ubuntu .


mssql-toolsInstallationsschritte ( Quelle )

In diesem Abschnitt wird die Einrichtung beschrieben, mssql-toolsdie den sqlcmdBefehl enthält. Diese Schritte sind für alle Systeme erforderlich, in denen Sie die verwenden möchtensqlcmd Befehl oder andere von Microsoft stammende Dienstprogramme unter Linux verwenden mit einem MSSQL-Server zu interagieren.

(Dies ist nicht erforderlich für andere Python-Bibliotheken für die Interaktion mit MSSQL oder für andere Dienstprogramme wie DataGrip, die mit Servern usw. mssql-toolsinteragieren können, für deren Betrieb das Paket nicht erforderlich ist .)

Vorsichtsmaßnahmen:

  1. Ich habe keine Version für Nicht-64-Bit-Systeme gefunden. Möglicherweise benötigen Sie ein 64-Bit-System, damit diese Tools funktionieren.
  2. Sie können Tools derzeit nur für 16.04 verwenden.
  1. Aktivieren Sie den Superuser-Modus

    sudo su
    
  2. Importieren Sie die GPG-Schlüssel des öffentlichen Repositorys:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Registrieren Sie das Microsoft Ubuntu-Repository:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Beenden Sie den Superuser-Modus:

    exit
    
  5. Aktualisieren Sie die Quellenliste und führen Sie den Installationsbefehl aus:

    sudo apt-get update
    sudo apt-get install mssql-tools
    


Wie in der Docker-Lösung erwähnt, funktioniert der mssql-Server hier auch nur auf der amd64-Architektur (im Gegensatz zu arm oder arm64, die auf einigen Clouds angeboten wird).
Userfuser

1
Bemerkenswert ist, dass sqlservr-setupin umbenannt wurde mssql-conf setup.
Tom

Es heißt in Ihrem sourceSQL, dass 2 GB und nicht 4 GB RAM erforderlich sind, wie Sie erwähnt haben.
Offir Pe'er

9

Docker verwenden (nur amd64)

Es ist auch möglich, MSSQL Server unter Ubuntu mit Docker auszuführen. Dies kann durch sorgfältiges Befolgen der folgenden Schritte erfolgen:

  1. Wenn Sie Ubuntu 14.04 oder eine andere ältere Version als Xenial (16.04) verwenden , müssen Sie eine neuere Version von Docker installieren, als die von den Archiven bereitgestellten.

    Befolgen Sie in diesem Fall die Anweisungen auf dieser Seite .

    Wenn nicht, einfach ausführen:

    sudo apt-get install docker.io
    
  2. Stellen Sie sicher, dass Sie eine Verbindung zum lokalen Docker-Daemon herstellen können, indem Sie Folgendes ausführen:

    docker info
    

    Wenn Sie eine Fehlermeldung wie erhalten Cannot connect to the Docker daemon., müssen Sie sich der dockerGruppe hinzufügen :

    sudo usermod -a -G docker <USERNAME>
    

    ... wo <USERNAME>wird durch Ihren Benutzernamen ersetzt. Sie müssen sich abmelden und wieder anmelden, damit die Änderungen wirksam werden.

  3. Ziehen Sie das MSSQL-Image von Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Erstellen Sie auf dem Host ein Verzeichnis, in dem Daten aus dem Container gespeichert werden, und speichern Sie den Wert zur Vereinfachung in einer Umgebungsvariablen:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Starten Sie den Container:

    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
    

    Ersetzen <PASSWORD> durch einen eindeutigen Wert, der später für die Authentifizierung verwendet wird.

  6. Stellen Sie sicher, dass der Container ohne Fehler gestartet wurde:

    docker ps -af name=mssql
    

    Wenn in der STATUSSpalte "Up ..." unter dem Symbol angezeigt wirdSTATUS angezeigt wird, läuft alles ordnungsgemäß. Wenn jedoch ein Fehler angezeigt wird:

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

    ... dann können Sie verwenden docker logs mssql um weitere Informationen zu erhalten.

Um von einer Anwendung aus eine Verbindung zum Container herzustellen, geben Sie einfach Port 1433 an.

Standardmäßig wird der Container beim ersten Start gestartet run. Sie können den Container stoppen mit:

docker stop mssql

Um den Container zu entfernen, stoppen Sie ihn zuerst und führen Sie dann Folgendes aus:

docker rm mssql

Getestet unter 18.04. Danke, es funktioniert und es ist sehr schnell.
Joe Eifert

Benutzername: sa, Passwort sollte mindestens 8 Zeichen und Ziffern sowie Groß- und Kleinbuchstaben enthalten. Andernfalls können Sie keine Verbindung herstellen. Mehr Infos hier: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.