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

Aplica-se a: SQL Server – Linux

Neste início rápido, você instala o SQL Server 2017 (14.x) no RHEL (Red Hat Enterprise Linux) 8.x. 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ê instala o SQL Server 2019 (15.x) no RHEL (Red Hat Enterprise Linux) 8.x. 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ê instala o SQL Server 2022 (16.x) no RHEL (Red Hat Enterprise Linux) 8.x ou 9.x. 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 2022 (16.x) 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 VM do SQL Server pré-instalada no RHEL pronta para executar sua carga de trabalho baseada em produção, siga as práticas recomendadas para criar a VM do SQL Server.

Imagens do Azure Marketplace

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

Ao usar a imagem do marketplace acima, 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 RHEL usando as imagens do Marketplace acima têm suporte total para Microsoft e Red Hat.

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 RHEL 8.x com no mínimo, 2 GB de memória.

Para instalar o Red Hat Enterprise Linux em seu próprio computador, acesse https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. Também é possível criar máquinas virtuais RHEL no Azure. Confira Criar e gerenciar VMs do Linux com a CLI do Azure e use --image RHEL na chamada para az vm create.

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.

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

Instale o SQL Server

Os comandos a seguir para instalação do SQL Server apontam para o repositório do RHEL 8. O RHEL 8 não vem pré-instalado com o python2, que é exigido pelo SQL Server. Antes de começar as etapas de instalação do SQL Server, execute o comando e verifique se python2 está selecionado como o interpretador:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python

Para obter mais informações, consulte o seguinte blog sobre como instalar o python2 e configurá-lo como o interpretador padrão: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

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

  1. Baixe o arquivo de configuração do repositório do Red Hat do SQL Server 2017 (14.x):

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
    

    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.

  2. Execute o seguinte comando para instalar o SQL Server:

    sudo yum install -y mssql-server
    
  3. Após a conclusão da instalação do pacote, execute mssql-conf setup usando o caminho completo 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.

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

    systemctl status mssql-server
    
  5. Para permitir conexões remotas, abra a porta do SQL Server no firewall no RHEL. A porta do SQL Server padrão é TCP 1433. Se você estiver usando FirewallD para o firewall, poderá usar os seguintes comandos:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

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

Os comandos a seguir para instalação do SQL Server apontam para o repositório do RHEL 8. O RHEL 8 não vem pré-instalado com o python2, que é exigido pelo SQL Server. Antes de começar as etapas de instalação do SQL Server, execute o comando e verifique se python2 está selecionado como o interpretador:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python

Para obter mais informações, consulte o seguinte blog sobre como instalar o python2 e configurá-lo como o interpretador padrão: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

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

  1. Baixe o arquivo de configuração do repositório do Red Hat do SQL Server 2019 (15.x):

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    

    Dica

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

  2. Execute o seguinte comando para instalar o SQL Server:

    sudo yum install -y mssql-server
    
  3. Após a conclusão da instalação do pacote, execute mssql-conf setup usando o caminho completo 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.

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

    systemctl status mssql-server
    
  5. Para permitir conexões remotas, abra a porta do SQL Server no firewall no RHEL. A porta do SQL Server padrão é TCP 1433. Se você estiver usando FirewallD para o firewall, poderá usar os seguintes comandos:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

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

Os comandos a seguir para instalação do SQL Server apontam para o repositório do RHEL 8.

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

  1. Baixe o arquivo de configuração do repositório do Red Hat 8 do SQL Server 2022 (16.x):

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
    

    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.

  2. Execute o seguinte comando para instalar o SQL Server:

    sudo yum install -y mssql-server
    
  3. Após a conclusão da instalação do pacote, execute mssql-conf setup usando o caminho completo 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.

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

    systemctl status mssql-server
    
  5. Para permitir conexões remotas, abra a porta do SQL Server no firewall no RHEL. A porta do SQL Server padrão é TCP 1433. Se você estiver usando FirewallD para o firewall, poderá usar os seguintes comandos:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

Neste momento, o SQL Server está em execução no seu computador RHEL 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 seguintes etapas a seguir para instalar o mssql-tools18 no Red Hat Enterprise Linux.

  1. Baixe o arquivo de configuração do repositório do Red Hat da Microsoft.

    • Para o Red Hat 9, use o seguinte comando:

      curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • Para o Red Hat 8, use o seguinte comando:

      curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • Para o Red Hat 7, use o seguinte comando:

      curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
  2. Se você tiver uma versão anterior do mssql-tools instalada, remova os pacotes unixODBC mais antigos.

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
    
  3. Execute os seguintes comandos para instalar mssql-tools18 com o pacote do desenvolvedor do unixODBC.

    sudo yum install -y mssql-tools18 unixODBC-devel
    

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

    sudo yum check-update
    sudo yum update 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