Come posso installare MSSQL Server e / o Tools per Linux su 16.04?


14

Questo post è stato creato per cercare di essere una coppia di domande / risposte canoniche "catch all" per le domande "Come installare MSSQL Server" e "Come posso installare MSSQL Server Tools".

Sto cercando di installare MS SQL Server per Linux e molto probabilmente i suoi strumenti (sul server stesso o su altri sistemi) in modo da poter interagire con SQL Server. Come posso fare per fare questo?


1
Nota che ho un server MSSQL disponibile via 16.04 e gli strumenti su quello stesso server. Uso MSSQL Management Studio dal mio computer Windows per gestire tutto e DataGrip e altre interfacce Python per utilizzare effettivamente MSSQL Server e gestirlo.
Thomas Ward

Risposte:


18

Questa risposta riguarda l'installazione di MSSQL Server e strumenti per qualsiasi sistema 16.04. Non copre la soluzione Docker per ottenere MSSQL Server su un sistema. Una risposta separata verrà scritta per MSSQL Server tramite l'opzione di installazione Docker per SQL Server.

Ci sono un paio di componenti diversi qui nei pacchetti solo dai repository Microsoft.

  1. mssql-server - Anteprima di Microsoft SQL Server per Linux
  2. mssql-tools- sqlcmd, ecc. comandi per interagire con MSSQL Server.

Ci sono alcuni avvertimenti malvagi qui:

  1. È necessario disporre di 16.04 per tutti i componenti; NON funziona su versioni precedenti.
  2. Al momento, sono disponibili solo versioni a 64 bit dei pacchetti. Non sarai in grado di eseguire mssql-servere forse nemmeno gli strumenti a meno che tu non sia su sistemi a 64 bit.

Tutti i comandi seguenti provengono dai passaggi suggeriti da Microsoft. Non suggerisco di usare alcuni di questi comandi al di fuori di seguire esattamente questi passaggi , a causa della natura dei rischi per la sicurezza che alcune delle procedure qui introdotte (come l'accesso a una shell di superutente).


mssql-serverpassaggi di installazione ( sorgente )

Questi passaggi descrivono la configurazione dell'anteprima pubblica di MS SQL Server per Linux. Questo e il metodo Docker sono i due metodi per configurare MSSQL Server per Linux.

Avvertenze:

  1. È necessario disporre di un sistema a 64 bit per MSSQL Server.
  2. Per l'installazione di MSSQL Server sono necessari almeno 4 GB di RAM sul sistema.
  3. Per questo devi avere Ubuntu 16.04, al momento non ci sono altre versioni sui loro server di repository.

Per installare il mssql-serverpacchetto su Ubuntu, attenersi alla seguente procedura:

  1. Entra in modalità superutente.

    sudo su
    
  2. Importa le chiavi GPG del repository pubblico:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Registrare il repository Ubuntu di Microsoft SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Esci dalla modalità superutente.

    exit
    
  5. Eseguire i comandi seguenti per installare SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Al termine dell'installazione del pacchetto, eseguire lo script di configurazione e seguire le istruzioni.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Al termine della configurazione, verificare che il servizio sia in esecuzione:

    systemctl status mssql-server
    

Vedi: Guida rapida: installa SQL Server e crea un database su Ubuntu .


mssql-toolsPassaggi di installazione ( sorgente )

Questa sezione illustra la configurazione di mssql-toolscui include il sqlcmdcomando. Questi passaggi sono necessari per tutti i sistemi in cui si desidera utilizzare il sqlcmdcomando o altre utilità di origine Microsoft su Linux per interagire con un server MSSQL.

(Ciò non è necessario per altre librerie Python per l'interazione con MSSQL o altre utilità come DataGrip che possono interagire con server, ecc., Che non richiedono il mssql-toolspacakge per funzionare.)

Avvertenze:

  1. Non ho trovato una versione di questo per sistemi non a 64 bit. Potrebbe essere necessario un sistema a 64 bit per far funzionare questi strumenti.
  2. Al momento è possibile utilizzare solo gli strumenti su 16.04.
  1. Entra in modalità Superutente

    sudo su
    
  2. Importa le chiavi GPG del repository pubblico:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Registrare il repository Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Esci dalla modalità superutente:

    exit
    
  5. Aggiorna l'elenco delle fonti ed esegui il comando di installazione:

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


Come menzionato nella soluzione docker, qui va anche detto che il server mssql funzionerà solo su architettura amd64 (a differenza di arm o arm64, offerto su alcuni cloud).
userfuser

1
Vale la pena notare che sqlservr-setupè stato rinominato mssql-conf setup.
Tom,

Dice nel tuo sourcesql che richiede 2 GB e non 4 GB di RAM, come hai detto.
Offir Pe'er,

9

Utilizzo di Docker (solo amd64)

È anche possibile eseguire MSSQL Server su Ubuntu utilizzando Docker. Questo può essere fatto seguendo attentamente i seguenti passaggi:

  1. Se si utilizza Ubuntu 14.04 o qualsiasi altra versione precedente a Xenial (16.04) , sarà necessario installare una versione più recente di Docker rispetto a quella fornita dagli archivi.

    In tal caso, seguire le istruzioni in questa pagina .

    In caso contrario, esegui semplicemente:

    sudo apt-get install docker.io
    
  2. Verifica che puoi collegarti al demone Docker locale usando:

    docker info
    

    Se ricevi un errore del genere Cannot connect to the Docker daemon., dovrai aggiungerti al dockergruppo:

    sudo usermod -a -G docker <USERNAME>
    

    ... dove <USERNAME>viene sostituito con il tuo nome utente. È necessario disconnettersi e riconnettersi per rendere effettive le modifiche.

  3. Estrarre l'immagine MSSQL dall'hub Docker:

    docker pull microsoft/mssql-server-linux
    
  4. Crea una directory sull'host che memorizzerà i dati dal contenitore e manterrà il valore in una variabile di ambiente per comodità:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Avviare il contenitore:

    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
    

    Sostituisci <PASSWORD>con un valore univoco che verrà utilizzato per l'autenticazione in un secondo momento.

  6. Verificare che il contenitore sia stato avviato senza errori:

    docker ps -af name=mssql
    

    Se la STATUScolonna mostra "Su ..." sotto la STATUScolonna, tutto funziona correttamente. Se, tuttavia, viene visualizzato un errore:

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

    ... quindi è possibile utilizzare docker logs mssqlper ottenere ulteriori informazioni.

Per connettersi al contenitore da un'applicazione, specificare semplicemente la porta 1433.

Per impostazione predefinita, il contenitore viene avviato al primo avvio run. Puoi fermare il contenitore con:

docker stop mssql

Per rimuovere il contenitore, innanzitutto arrestarlo, quindi eseguire:

docker rm mssql

Testato sotto 18.04. Grazie, funziona ed è molto veloce.
Joe Eifert,

Nome utente: sa, la password deve essere almeno 8 caratteri e numeri e lettere maiuscole e minuscole. Altrimenti non è possibile connettersi. Maggiori informazioni qui: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.