Início Rápido: Instalar o SQL Server e criar um banco de dados no Ubuntu

Aplica-se a: SQL Server – Linux

Neste início rápido, você instalará o SQL Server 2017 (14.x) no Ubuntu 18.04. Em seguida, você pode se conectar ao sqlcmd para criar seu primeiro banco de dados e executar consultas.

Para obter mais informações sobre plataformas com suporte, confira as Notas sobre a versão do SQL Server 2017 no Linux.

Neste início rápido, você instalará o SQL Server 2019 (15.x) no Ubuntu 20.04. Em seguida, você pode se conectar ao sqlcmd para criar seu primeiro banco de dados e executar consultas.

Para obter mais informações sobre plataformas com suporte, confira as Notas sobre a versão do SQL Server 2019 no Linux.

Neste início rápido, você instalará o SQL Server 2022 (16.x) no Ubuntu 20.04 ou 22.04. Em seguida, você pode se conectar ao sqlcmd para criar seu primeiro banco de dados e executar consultas.

Para obter mais informações sobre as plataformas compatíveis, confira as Notas sobre a versão do SQL Server 2022 no Linux.

Dica

Este tutorial requer a entrada do usuário e uma conexão com a Internet. Se estiver interessado nos procedimentos de instalação autônoma ou offline, confira Diretrizes de instalação para o SQL Server no Linux.

Se você optar por ter uma máquina virtual (VM) do SQL Server pré-instalada no Ubuntu pronta para executar sua carga de trabalho baseada em produção, siga as melhores práticas para criar a VM do SQL Server.

Imagens do Azure Marketplace

Você pode criar sua VM com base nas seguintes imagens do Azure Marketplace:

Ao usar essas imagens, você evita a etapa de instalação e pode configurar diretamente a instância fornecendo o SKU e a senha do sa necessários para começar a usar o SQL Server. As VMs do SQL Server Azure implantadas no Ubuntu usando as imagens do Marketplace acima têm suporte total para Microsoft e Canonical.

Você pode configurar SQL Server em Linux com mssql-conf usando o seguinte comando:

sudo /opt/mssql/bin/mssql-conf setup

Imagem do Azure Marketplace

Você pode criar sua VM com base na seguinte imagem do Azure Marketplace: Ubuntu 20.04.

Ao usar essa imagem, você evitará a etapa de instalação e poderá configurar diretamente a instância fornecendo o SKU e a senha do sa necessários para começar a usar o SQL Server. As VMs do SQL Server Azure implantadas no Ubuntu usando as imagens do Marketplace acima têm suporte total para Microsoft e Canonical.

Você pode configurar SQL Server em Linux com mssql-conf usando o seguinte comando:

sudo /opt/mssql/bin/mssql-conf setup

Pré-requisitos

É necessário ter um computador Ubuntu 18.04 com pelo menos 2 GB de memória.

Para instalar o Ubuntu 18.04 em seu próprio computador, acesse https://releases.ubuntu.com/18.04/. Também é possível criar máquinas virtuais Ubuntu no Azure. Veja: Tutorial: Criar e gerenciar VMs do Linux com a CLI do Azure

É necessário ter um computador Ubuntu 20.04 com pelo menos 2 GB de memória.

Para instalar o Ubuntu 20.04 no seu computador, acesse https://releases.ubuntu.com/20.04/. Também é possível criar máquinas virtuais Ubuntu no Azure. Veja: Tutorial: Criar e gerenciar VMs do Linux com a CLI do Azure

É necessário ter um computador Ubuntu 20.04 com pelo menos 2 GB de memória.

Para instalar o Ubuntu 20.04 no seu computador, acesse https://releases.ubuntu.com/20.04/. Também é possível criar máquinas virtuais Ubuntu no Azure. Veja: Tutorial: Criar e gerenciar VMs do Linux com a CLI do Azure

Se você já tiver instalado uma versão CTP (Community Technology Preview) ou RC (Release Candidate) do SQL Server, será necessário remover primeiro o repositório antigo antes de seguir essas etapas. Para obter mais informações, confira Configurar repositórios para instalar e atualizar o SQL Server em Linux.

Não há suporte para o Subsistema do Windows para Linux como um destino de instalação para SQL Server.

Para obter outros requisitos do sistema, confira Requisitos do sistema do SQL Server em Linux.

Instale o SQL Server

Para configurar o SQL Server no Ubuntu, execute os seguintes comandos em um terminal para instalar o pacote mssql-server.

  1. Importe as chaves GPG do repositório público:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. Registre o repositório do Ubuntu do SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.list)"
    

    Dica

    Se você quiser instalar uma versão diferente do SQL Server, confira as versões SQL Server 2019 (15.x) ou SQL Server 2022 (16.x) deste artigo.

  3. Execute os comandos a seguir para instalar o SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. Após a conclusão da instalação do pacote, execute a mssql-conf setup e siga os prompts para definir a senha SA e escolher sua edição. Como lembrete, as seguintes edições do SQL Server são licenciadas gratuitamente: Evaluation, Developer e Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Lembre-se de especificar uma senha forte para a conta SA. Você precisa de um comprimento mínimo de 8 caracteres, incluindo letras maiúsculas e minúsculas, dígitos de base 10 e/ou símbolos não alfanuméricos.

  5. Após concluir a configuração, verifique se o serviço está em execução:

    systemctl status mssql-server --no-pager
    
  6. Se planeja se conectar remotamente, talvez seja preciso abrir a porta TCP do SQL Server (padrão 1433) em seu firewall.

  1. Importe as chaves GPG do repositório público:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. Registre o repositório do Ubuntu do SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
    

    Dica

    Se você quiser instalar uma versão diferente do SQL Server, confira as versões SQL Server 2017 (14.x) ou SQL Server 2022 (16.x) deste artigo.

  3. Execute os comandos a seguir para instalar o SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. Após a conclusão da instalação do pacote, execute a mssql-conf setup e siga os prompts para definir a senha SA e escolher sua edição. Como lembrete, as seguintes edições do SQL Server são licenciadas gratuitamente: Evaluation, Developer e Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Lembre-se de especificar uma senha forte para a conta SA. Você precisa de um comprimento mínimo de 8 caracteres, incluindo letras maiúsculas e minúsculas, dígitos de base 10 e/ou símbolos não alfanuméricos.

  5. Após concluir a configuração, verifique se o serviço está em execução:

    systemctl status mssql-server --no-pager
    
  6. Se planeja se conectar remotamente, talvez seja preciso abrir a porta TCP do SQL Server (padrão 1433) em seu firewall.

  1. Importe as chaves GPG do repositório público:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. Registre o repositório do Ubuntu do SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
    

    Dica

    Se você quiser instalar uma versão diferente do SQL Server, consulte as versões SQL Server 2017 (14.x) ou SQL Server 2019 (15.x) deste artigo.

  3. Execute os comandos a seguir para instalar o SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. Após a conclusão da instalação do pacote, execute a mssql-conf setup e siga os prompts para definir a senha SA e escolher sua edição. Como lembrete, as seguintes edições do SQL Server são licenciadas gratuitamente: Evaluation, Developer e Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Lembre-se de especificar uma senha forte para a conta SA. Você precisa de um comprimento mínimo de 8 caracteres, incluindo letras maiúsculas e minúsculas, dígitos de base 10 e/ou símbolos não alfanuméricos.

  5. Após concluir a configuração, verifique se o serviço está em execução:

    systemctl status mssql-server --no-pager
    
  6. Se planeja se conectar remotamente, talvez seja preciso abrir a porta TCP do SQL Server (padrão 1433) em seu firewall.

Neste momento, o SQL Server está em execução no seu computador Ubuntu e está pronto para uso.

Desativar a conta sa como melhor prática

Quando você se conecta à instância do SQL Server usando a conta sa pela primeira vez após a instalação, é importante seguir estas etapas e, em seguida, desabilitar imediatamente o logon de sa como uma melhor prática de segurança.

  1. Crie um novo logon e torne-o um membro da função de servidor sysadmin.

  2. Conecte-se à instância do SQL Server usando o novo logon que você criou.

  3. Desative a conta sa, conforme recomendado para as melhores práticas de segurança.

instalar as ferramentas de linha de comando SQL Server

Para criar um banco de dados, é necessário conectar-se a uma ferramenta que pode executar instruções Transact-SQL no SQL Server. As etapas a seguir instalam as ferramentas de linha de comando do SQL Server: sqlcmd utility e sqlcmd utility.

Use as etapas a seguir para instalar as mssql-tools18 no Ubuntu.

Observação

  • Há suporte para o Ubuntu 18.04 do SQL Server 2019 (15.x) CU 3.
  • Há suporte para o Ubuntu 20.04 do SQL Server 2019 (15.x) CU 10.
  1. Importe as chaves GPG do repositório público.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. Registre o repositório do Microsoft Ubuntu.

    • Para Ubuntu 22.04, use o seguinte comando:

      curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
    • Para Ubuntu 20.04, use o seguinte comando:

      curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
    • Para Ubuntu 18.04, use o seguinte comando:

      curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
    • Para Ubuntu 16.04, use o seguinte comando:

      curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  3. Atualize a lista de fontes e execute o comando de instalação com o pacote do desenvolvedor do unixODBC.

    sudo apt-get update
    sudo apt-get install mssql-tools18 unixodbc-dev
    

    Para atualizar para a versão mais recente do mssql-tools, execute os seguintes comandos:

    sudo apt-get update  
    sudo apt-get install mssql-tools18
    
  4. Opcional: Adicione /opt/mssql-tools18/bin/ à sua variável de ambiente PATH em um shell de Bash.

    Para tornar o sqlcmd e o bcp acessível do shell de Bash para sessões de logon, modifique o PATH no arquivo ~/.bash_profile com o seguinte comando:

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
    source ~/.bash_profile
    

    Para tornar o sqlcmd e o bcp acessível do shell de Bash para sessões interativas/que não são de logon, modifique o PATH no arquivo ~/.bashrc com o seguinte comando:

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
    source ~/.bashrc
    

Conectar-se localmente

As etapas a seguir usam o sqlcmd para conectar-se localmente à nova instância do SQL Server.

  1. Execute o sqlcmd com parâmetros para o nome do SQL Server (-S), o nome de usuário (-U) e a senha (-P). Neste tutorial, você está se conectando localmente, portanto, o nome do servidor é localhost. O nome de usuário é sa e a senha é a mesma fornecida para a conta SA durante a instalação.

    sqlcmd -S localhost -U sa -P '<YourPassword>'
    

    Observação

    As versões mais recentes do sqlcmd são seguras por padrão. Para obter mais informações sobre a criptografia de conexão, confira Utilitário sqlcmd para Windows e Conectar com sqlcmd para Linux e macOS. Se a conexão não for bem-sucedida, você poderá adicionar a opção -No ao sqlcmd para especificar que a criptografia é opcional, não obrigatória.

    É possível omitir a senha na linha de comando para receber uma solicitação para inseri-la.

    Se depois você decidir se conectar remotamente, especifique o nome do computador ou endereço IP do parâmetro -S e verifique se a porta 1433 está aberta no firewall.

  2. Se isso funcionar, você será levado a um prompt de comando sqlcmd: 1>.

  3. Se houver uma falha de conexão, primeiro, tente diagnosticar o problema da mensagem de erro. Em seguida, examine as recomendações de solução de problemas de conexão.

Criar e consultar dados

As seções a seguir descrevem como usar o sqlcmd para criar um novo banco de dados, adicionar dados e executar uma consulta simples.

Para mais informações sobre como escrever consultas e instruções em Transact-SQL, veja Tutorial: Escrever instruções do Transact-SQL.

Criar um novo banco de dados

As etapas a seguir criam um novo banco de dados denominado TestDB.

  1. No prompt de comando sqlcmd, cole o seguinte comando Transact-SQL para criar um banco de dados de teste:

    CREATE DATABASE TestDB;
    
  2. Na próxima linha, grave uma consulta para retornar o nome de todos os bancos de dados do servidor:

    SELECT Name from sys.databases;
    
  3. Os dois comandos anteriores não foram executados imediatamente. Digite GO em uma nova linha para executar os comandos anteriores:

    GO
    

Inserir dados

Em seguida, crie uma nova tabela, dbo.Inventory, e insira duas novas linhas.

  1. No prompt de comando sqlcmd, altere o contexto para o novo banco de dados TestDB:

    USE TestDB;
    
  2. Criar nova tabela denominada dbo.Inventory:

    CREATE TABLE dbo.Inventory (
        id INT,
        name NVARCHAR(50),
        quantity INT,
        PRIMARY KEY (id)
    );
    
  3. Inserir dados na nova tabela:

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
    
  4. Digite GO para executar os comandos anteriores:

    GO
    

Selecionar dados

Agora, execute uma consulta para retornar da tabela dbo.Inventory.

  1. No prompt de comando sqlcmd, digite uma consulta que retorna linhas de tabela dbo.Inventory em que a quantidade é maior que 152:

    SELECT * FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. Execute o comando:

    GO
    

Saia do prompt de comando sqlcmd

Para encerrar a sessão sqlcmd, digite QUIT:

QUIT

Práticas recomendadas de desempenho

Após instalar o SQL Server em Linux, examine as práticas recomendadas para configuração do Linux e do SQL Server a fim de melhorar o desempenho para cenários de produção. Para obter mais informações, confira Práticas recomendadas de desempenho e diretrizes de configuração do SQL Server em Linux.

Ferramentas de dados multiplataforma

Além de sqlcmd, você pode usar as seguintes ferramentas multiplataforma para gerenciar o SQL Server:

Ferramenta Descrição
Azure Data Studio Um utilitário de gerenciamento de banco de dados GUI multiplataforma.
Visual Studio Code Um editor de código GUI multiplataforma que executa instruções Transact-SQL com a extensão mssql.
PowerShell Core Uma ferramenta de automação e configuração multiplataforma baseada em cmdlets.
mssql-cli Uma interface de linha de comando multiplataforma para executar comandos Transact-SQL.

Conecte-se do Windows

As ferramentas do SQL Server no Windows se conectam às instâncias do SQL Server no Linux da mesma forma que se conectam a qualquer instância remota do SQL Server.

Se você tiver um computador Windows que pode se conectar a um computador Linux, tente as mesmas etapas deste tópico de um prompt de comando do Windows executando o sqlcmd. É necessário usar o nome de destino do computador Linux ou o endereço IP em vez do localhost e ter certeza de que a porta TCP 1433 está aberta no computador SQL Server. Se houver problemas ao se conectar do Windows, consulte recomendações de solução de problemas de conexão.

Para outras ferramentas que executam o Windows, mas se conectam ao SQL Server no Linux, consulte:

Outros cenários de implantação

Para outros cenários de instalação, veja os seguintes recursos:

Para obter respostas a perguntas frequentes, confira as Perguntas frequentes sobre o SQL Server em Linux.

Contribua com a documentação do SQL

Você sabia que pode editar conteúdo do SQL por conta própria? Ao fazer isso, além de melhorar nossa documentação, você também será creditado como um colaborador da página.

Para obter mais informações, confira Como contribuir para a documentação do SQL Server