Jak zainstalować serwer MSSQL i / lub narzędzia dla systemu Linux w dniu 16.04?

14

Ten post został stworzony, aby być kanoniczną parą pytań i odpowiedzi typu „złap wszystko” dla pytań „Jak zainstalować serwer MSSQL” i „Jak zainstalować narzędzia serwera MSSQL”.

Chcę skonfigurować MS SQL Server dla systemu Linux i całkiem możliwe jego narzędzia (na samym serwerze lub w innych systemach), aby móc współpracować z programem SQL Server. Jak mogę to zrobić?

Thomas Ward
źródło
1
Zauważ, że mam serwer MSSQL dostępny przez 16.04 i narzędzia na tym samym serwerze. Używam MSSQL Management Studio z mojego komputera z systemem Windows do zarządzania wszystkim, a DataGrip i inne interfejsy Python do faktycznego korzystania z serwera MSSQL i zarządzania nim.
Thomas Ward

Odpowiedzi:

18

Ta odpowiedź obejmuje instalację serwera MSSQL i narzędzi dla dowolnego systemu 16.04. Nie obejmuje rozwiązania Docker pozwalającego uzyskać MSSQL Server w systemie. Osobna odpowiedź zostanie napisana dla MSSQL Server za pomocą opcji instalacji Docker dla SQL Server.

W pakietach tylko z repozytoriów Microsoft jest kilka różnych składników.

  1. mssql-server - Microsoft SQL Server dla wersji zapoznawczej systemu Linux
  2. mssql-tools- sqlcmditp. polecenia do interakcji z serwerem MSSQL.

Jest tu kilka złych zastrzeżeń:

  1. Musisz mieć 16.04 dla wszystkich komponentów; NIE działa na starszych wersjach.
  2. W tej chwili dostępne są tylko 64-bitowe wersje pakietów. Nie będziesz w stanie uruchomić, mssql-servera być może nie narzędzi, chyba że masz 64-bitowe systemy.

Wszystkie poniższe polecenia pochodzą z sugerowanych kroków firmy Microsoft. Nie sugeruję używania niektórych z tych poleceń poza wykonaniem dokładnie tych kroków , ze względu na charakter zagrożeń bezpieczeństwa, które wprowadzają niektóre z opisanych tu procedur (takich jak logowanie do powłoki superużytkownika).


mssql-serverkroki instalacji ( źródło )

Te kroki obejmują konfigurację MS SQL Server dla publicznej wersji zapoznawczej systemu Linux. Ta i metoda Dockera to dwie metody konfiguracji MSSQL Server dla systemu Linux.

Ostrzeżenia:

  1. Musisz mieć 64-bitowy system dla MSSQL Server.
  2. Aby zainstalować MSSQL Server, potrzebujesz co najmniej 4 GB pamięci RAM w systemie.
  3. Musisz mieć do tego Ubuntu 16.04, obecnie nie ma innych wersji na swoich serwerach repozytoriów.

Aby zainstalować mssql-serverpakiet na Ubuntu, wykonaj następujące kroki:

  1. Wejdź w tryb administratora.

    sudo su
    
  2. Zaimportuj klucze GPG publicznego repozytorium:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Zarejestruj repozytorium Ubuntu Microsoft SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Wyjdź z trybu administratora.

    exit
    
  5. Uruchom następujące polecenia, aby zainstalować program SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Po zakończeniu instalacji pakietu uruchom skrypt konfiguracyjny i postępuj zgodnie z instrukcjami.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Po zakończeniu konfiguracji sprawdź, czy usługa jest uruchomiona:

    systemctl status mssql-server
    

Zobacz: Szybki start: zainstaluj SQL Server i utwórz bazę danych na Ubuntu .


mssql-toolsKroki instalacji ( źródło )

W tej sekcji opisano konfigurowanie, mssql-toolsktóre obejmuje sqlcmdpolecenie. Te kroki są potrzebne w przypadku wszystkich systemów, w których chcesz używać sqlcmdpolecenia lub innych narzędzi Microsoft pochodzących z systemu Linux do interakcji z serwerem MSSQL.

(Nie jest to wymagane w przypadku innych bibliotek Pythona do interakcji z MSSQL lub innych narzędzi, takich jak DataGrip, które mogą wchodzić w interakcje z serwerami itp., Które nie wymagają działania mssql-toolspacakge).

Ostrzeżenia:

  1. Nie znalazłem wersji tego systemu dla systemów innych niż 64-bitowe. Aby te narzędzia działały, może być potrzebny system 64-bitowy.
  2. Możesz używać narzędzi tylko w dniu 16.04.
  1. Wejdź w tryb administratora

    sudo su
    
  2. Zaimportuj klucze GPG publicznego repozytorium:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Zarejestruj repozytorium Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Wyjdź z trybu administratora:

    exit
    
  5. Zaktualizuj listę źródeł i uruchom polecenie instalacji:

    sudo apt-get update
    sudo apt-get install mssql-tools
    
Thomas Ward
źródło
Jak wspomniano w rozwiązaniu dokera - tutaj należy również powiedzieć, że serwer mssql będzie działał tylko na architekturze amd64 (w przeciwieństwie do arm lub arm64, które jest oferowane w niektórych chmurach).
userfuser
1
Warto zauważyć, że sqlservr-setupzostał przemianowany na mssql-conf setup.
Tom
Mówi, sourceże sql wymaga 2 GB, a nie 4 GB pamięci RAM, jak wspomniałeś.
Offir Pe'er
9

Korzystanie z Dockera (tylko amd64)

Możliwe jest także uruchomienie MSSQL Server na Ubuntu przy użyciu Dockera. Można to zrobić, ostrożnie wykonując poniższe kroki:

  1. Jeśli używasz Ubuntu 14.04 lub innej wersji starszej niż Xenial (16.04) , będziesz musiał zainstalować nowszą wersję Dockera, niż zapewniają archiwa.

    Jeśli tak, postępuj zgodnie z instrukcjami na tej stronie .

    Jeśli nie, po prostu uruchom:

    sudo apt-get install docker.io
    
  2. Sprawdź, czy możesz połączyć się z lokalnym demonem Docker za pomocą:

    docker info
    

    Jeśli pojawi się błąd taki jak Cannot connect to the Docker daemon., musisz dodać siebie do dockergrupy:

    sudo usermod -a -G docker <USERNAME>
    

    ... gdzie <USERNAME>jest zastąpiony twoją nazwą użytkownika. Musisz wylogować się i zalogować ponownie, aby zmiany odniosły skutek.

  3. Wyciągnij obraz MSSQL z Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Utwórz katalog na hoście, który będzie przechowywać dane z kontenera i przechowywać wartość w zmiennej środowiskowej dla wygody:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Uruchom pojemnik:

    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
    

    Zastąp <PASSWORD>unikalną wartością, która będzie później używana do uwierzytelnienia.

  6. Sprawdź, czy kontener został uruchomiony bez błędu:

    docker ps -af name=mssql
    

    Jeśli STATUSkolumna pokazuje „W górę ...” pod STATUSkolumną, oznacza to, że wszystko działa poprawnie. Jeśli jednak wyświetlany jest błąd:

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

    ... możesz użyć, docker logs mssqlaby uzyskać dodatkowe informacje.

Aby połączyć się z kontenerem z aplikacji, wystarczy podać port 1433.

Domyślnie kontener jest uruchamiany przy pierwszym uruchomieniu run. Możesz zatrzymać pojemnik za pomocą:

docker stop mssql

Aby usunąć pojemnik, najpierw go zatrzymaj, a następnie uruchom:

docker rm mssql
Nathan Osman
źródło
Testowane pod 18.04. Dziękuję, działa i jest bardzo szybki.
Joe Eifert
Nazwa użytkownika: sa, hasło powinno składać się z co najmniej 8 znaków i cyfr oraz wielkich i małych liter. W przeciwnym razie nie możesz się połączyć. Więcej informacji tutaj: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert