Como instalo o MSSQL Server e / ou o Tools for Linux no 16.04?

14

Esta postagem foi criada para tentar ser um par canônico de perguntas / respostas 'pegar tudo' para as perguntas 'Como instalar o MSSQL Server' e 'Como instalar o MSSQL Server Tools'.

Estou procurando configurar o MS SQL Server para Linux e, possivelmente, suas ferramentas (no próprio servidor ou em outros sistemas) para poder interagir com o SQL Server. Como posso fazer isso?

Thomas Ward
fonte
11
Observe que eu tenho um servidor MSSQL disponível via 16.04 e as ferramentas nesse mesmo servidor. Eu uso o MSSQL Management Studio no meu computador com Windows para gerenciar tudo, e o DataGrip e outras interfaces Python para realmente usar e gerenciar o MSSQL Server.
Thomas Ward

Respostas:

18

Esta resposta aborda a instalação do MSSQL Server and Tools para qualquer sistema 16.04. Ele não cobre a solução do Docker para obter o MSSQL Server em um sistema. Uma resposta separada será gravada para o MSSQL Server via opção de instalação do Docker para SQL Server.

Existem alguns componentes diferentes aqui nos pacotes apenas dos repositórios da Microsoft.

  1. mssql-server - Microsoft SQL Server para Linux Preview
  2. mssql-tools- sqlcmd, etc. comandos para interagir com o MSSQL Server.

Existem algumas advertências do mal aqui:

  1. Você deve ter 16.04 para todos os componentes; NÃO funciona em versões mais antigas.
  2. No momento, existem apenas versões de 64 bits dos pacotes disponíveis. Você não poderá executar mssql-servere possivelmente as ferramentas, a menos que esteja em sistemas de 64 bits.

Todos os comandos abaixo são das etapas sugeridas pela Microsoft. Não sugiro o uso de alguns desses comandos além de seguir exatamente essas etapas , devido à natureza dos riscos à segurança que alguns dos procedimentos aqui apresentam (como fazer login em um shell de superusuário).


mssql-serveretapas de instalação ( origem )

Essas etapas abordam a configuração da visualização pública do MS SQL Server para Linux. Esse e o método Docker são os dois métodos para configurar o MSSQL Server para Linux.

Ressalvas:

  1. Você precisa ter um sistema de 64 bits para o MSSQL Server.
  2. Você precisa de pelo menos 4 GB de RAM no sistema para instalar o MSSQL Server.
  3. Você deve ter o Ubuntu 16.04 para isso, atualmente não há outras versões em seus servidores de repositório.

Para instalar o mssql-serverpacote no Ubuntu, siga estas etapas:

  1. Entre no modo superusuário.

    sudo su
    
  2. Importe as chaves GPG do repositório público:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Registre o repositório Microsoft SQL Server Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Saia do modo superusuário.

    exit
    
  5. Execute os seguintes comandos para instalar o SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Após a instalação do pacote, execute o script de configuração e siga as instruções.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Depois que a configuração estiver concluída, verifique se o serviço está em execução:

    systemctl status mssql-server
    

Consulte: Início rápido: instale o SQL Server e crie um banco de dados no Ubuntu .


mssql-toolsEtapas de instalação ( origem )

Esta seção aborda a configuração da mssql-toolsqual inclui o sqlcmdcomando. Essas etapas são necessárias para qualquer sistema em que você deseja usar o sqlcmdcomando ou outros utilitários originários da Microsoft no Linux para interagir com um MSSQL Server.

(Isso não é necessário para outras bibliotecas Python interagirem com o MSSQL ou para outros utilitários, como o DataGrip, que podem interagir com servidores etc., que não precisam do mssql-toolspacakge para operar.)

Ressalvas:

  1. Não encontrei uma versão disso para sistemas não-64 bits. Você pode precisar de um sistema de 64 bits para fazer essas ferramentas funcionarem.
  2. Atualmente, você só pode usar ferramentas no 16.04.
  1. Entrar no modo superusuário

    sudo su
    
  2. Importe as chaves GPG do repositório público:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Registre o repositório Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Sair do modo superusuário:

    exit
    
  5. Atualize a lista de fontes e execute o comando de instalação:

    sudo apt-get update
    sudo apt-get install mssql-tools
    
Thomas Ward
fonte
Como mencionado na solução docker - aqui também deve ser dito que o servidor mssql funcionará apenas na arquitetura amd64 (diferente do arm ou arm64, que está sendo oferecido em algumas nuvens).
userfuser
11
Vale a pena notar que sqlservr-setupfoi renomeado para mssql-conf setup.
Tom
Diz no seu sourceque o sql requer 2 GB e não 4 GB de RAM, como você mencionou.
Offir Pe'er
9

Usando o Docker (somente amd64)

Também é possível executar o MSSQL Server no Ubuntu usando o Docker. Isso pode ser feito seguindo as etapas abaixo com cuidado:

  1. Se você estiver usando o Ubuntu 14.04 ou qualquer outra versão anterior ao Xenial (16.04) , será necessário instalar uma versão mais recente do Docker que os arquivos fornecem.

    Nesse caso, siga as instruções nesta página .

    Caso contrário, basta executar:

    sudo apt-get install docker.io
    
  2. Verifique se você pode se conectar ao daemon Docker local usando:

    docker info
    

    Se você receber um erro como Cannot connect to the Docker daemon., precisará se adicionar ao dockergrupo:

    sudo usermod -a -G docker <USERNAME>
    

    ... onde <USERNAME>é substituído pelo seu nome de usuário. Você precisará fazer logout e logon novamente para que as alterações entrem em vigor.

  3. Puxe a imagem MSSQL do Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Crie um diretório no host que armazene dados do contêiner e mantenha o valor em uma variável de ambiente por conveniência:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Inicie o contêiner:

    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
    

    Substitua <PASSWORD>por um valor exclusivo que será usado para autenticação posteriormente.

  6. Verifique se o contêiner foi iniciado sem erros:

    docker ps -af name=mssql
    

    Se a STATUScoluna mostrar "Acima ..." embaixo da STATUScoluna, tudo estará funcionando corretamente. Se, no entanto, um erro for exibido:

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

    ... então você pode usar docker logs mssqlpara obter mais informações.

Para conectar-se ao contêiner a partir de um aplicativo, basta especificar a porta 1433.

Por padrão, o contêiner é iniciado quando você o inicia pela primeira runvez. Você pode parar o contêiner com:

docker stop mssql

Para remover o contêiner, primeiro pare-o e execute:

docker rm mssql
Nathan Osman
fonte
Testado sob 18.04. Obrigado, funciona e é muito rápido.
21818 Joe Eifert
Nome de usuário: sa, a senha deve ter pelo menos 8 caracteres e números e letras maiúsculas e minúsculas. Caso contrário, você não poderá se conectar. Mais informações aqui: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert