Notas sobre a versão do SQL Server 2017 em Linux

Aplica-se a: SQL Server 2017 (14.x) – Linux

As notas sobre a versão a seguir se aplicam ao SQL Server 2017 (14.x) em execução no Linux. Este artigo está dividido em seções para cada versão. A capacidade de suporte detalhada e os problemas conhecidos são listados no final do artigo. Cada versão traz um link para um artigo de suporte que descreve as alterações, bem como links para os downloads dos pacotes do Linux.

Essas notas sobre a versão são referentes especificamente às versões do SQL Server 2017 (14.x). Para ver notas sobre a versão de outras edições, confira os seguintes artigos:

Plataformas compatíveis

Plataforma Sistema de Arquivos Guia de Instalação
Red Hat Enterprise Linux 7.7 – 7.9 ou 8.0 – 8.6 Server XFS ou EXT4 Guia de instalação
SUSE Enterprise Linux Server v12 SP3–SP5 XFS ou EXT4 Guia de instalação
Ubuntu 16.04 LTS 1, 18.04 LTS XFS ou EXT4 Guia de instalação
Docker Engine 1.8+ no Linux N/D Guia de instalação

1 O suporte para SQL Server no Ubuntu 16.04 é limitado. No final de abril de 2021, o Ubuntu 16.04 passou de sua janela de manutenção padrão de cinco anos de versões LTS (suporte a longo prazo), para suporte ESM (suporte estendido de manutenção de segurança). Para obter mais detalhes, confira Transições do Ubuntu 16.04 LTS para o ESM (Manutenção de Segurança Estendida) | Ubuntu.

Dica

Para obter mais informações, examine os requisitos do sistema para SQL Server em Linux. Para obter a política de suporte mais recente para o SQL Server, confira a Política de suporte técnico para Microsoft SQL Server.

Ferramentas

A maioria das ferramentas de cliente existentes que se destinam ao SQL Server pode se direcionar diretamente ao SQL Server em execução no Linux. Algumas ferramentas podem ter um requisito de versão específico para funcionar bem com o Linux. Para obter uma lista completa de ferramentas do SQL Server, confira Ferramentas e utilitários de SQL para SQL Server.

Últimas versões de todos os pacotes

Esta seção lista as últimas versões de cada pacote por distribuição do SQL Server 2017. A tabela a seguir mostra a versão mais recente, que é a CU 31. Para ver o histórico completo de versões, confira Histórico de versões do SQL Server 2017.

Versão Versão Data Build artigos da base de dados
SQL Server 2017 (14.x) CU 31 2022-09-20 14.0.3456.2 KB 5016884

Importante

Essa é a atualização cumulativa final do SQL Server 2017 (14.x).

  • Desde a CU4, o SQL Server Agent deixou de ser instalado como um pacote separado. Ele é instalado com o pacote do Mecanismo de Banco de Dados e precisa ser habilitado para ser usado.
  • O pacote mssql-server-is não tem suporte no SUSE nesta versão. Confira SSIS (SQL Server Integration Services) para obter mais informações.
Distribuição Nome do pacote Versão do pacote Baixar
Red Hat Enterprise Linux
RHEL 8 Mecanismo de Banco de Dados 14.0.3456.2-3 Pacote RPM do Mecanismo de Banco de Dados
RHEL 8 Pesquisa de Texto Completo 14.0.3456.2-3 Pacote RPM da pesquisa de texto completo
RHEL 8 Alta disponibilidade 14.0.3456.2-3 Pacote RPM de Alta Disponibilidade
RHEL 7 SSIS 14.0.3015.40-1 Pacote RPM do SSIS
SUSE Enterprise Linux Server
SLES 12 Mecanismo de Banco de Dados 14.0.3456.2-3 Pacote RPM do Mecanismo de Banco de Dados
SLES 12 Pesquisa de Texto Completo 14.0.3456.2-3 Pacote RPM da pesquisa de texto completo
SLES 12 Alta disponibilidade 14.0.3456.2-3 Pacote RPM de Alta Disponibilidade
Ubuntu
Ubuntu 18.04 Mecanismo de Banco de Dados 14.0.3456.2-3 Pacote Debian do Mecanismo de Banco de Dados
Ubuntu 18.04 Pesquisa de Texto Completo 14.0.3456.2-3 Pacote Debian da pesquisa de texto completo
Ubuntu 18.04 Alta disponibilidade 14.0.3456.2-3 Pacote Debian de alta disponibilidade
Ubuntu 16.04 SSIS 14.0.3015.40-1 Pacote Debian do SSIS

Como instalar atualizações

Se tiver configurado o repositório da CU (mssql-server-2017), você obterá os pacotes mais recentes da CU do SQL Server quando executar novas instalações. Se você precisar de imagens de contêiner do Docker, confira as imagens oficiais para Microsoft SQL Server em Linux para Docker Engine. Para obter mais informações sobre a configuração do repositório, confira Configurar repositórios para SQL Server em Linux.

Se você estiver atualizando pacotes do SQL Server existentes, execute o comando de atualização adequado para cada pacote a fim de obter a atualização cumulativa mais recente. Para obter instruções de atualização específicas para cada pacote, confira os seguintes guias de instalação:

Histórico de versões

A tabela a seguir lista o histórico de versões do SQL Server 2017 (14.x).

Versão Versão Data de liberação
CU 31 14.0.3456.2 2022-09-20
CU 30 14.0.3451.2 2022-07-13
CU 29 GDR 14.0.3445.2 14/06/2022
CU 29 14.0.3436.1 2022-03-30
CU 28 14.0.3430.2 13-01-2022
CU 27 14.0.3421.10 2021-10-27
CU 26 14.0.3411.3 14/09/2021
CU 25 14.0.3401.7 2021-07-12
CU 24 14.0.3391.2 2021-05-10
CU 23 14.0.3381.3 2021-02-24
CU 22 GDR 14.0.3370.1 12-01-2021
GDR 3 14.0.2037.2 12-01-2021
CU 22 14.0.3356.20 2020-09-10
CU 21 14.0.3335.7 2020-07-01
CU 20 14.0.3294.2 10-04-2020
CU 19 14.0.3281.6 2020-02-05
CU 18 14.0.3257.3 09/12/2019
CU 17 14.0.3238.1 08-10-2019
CU 16 14.0.3223.3 01-08-2019
CU 15 GDR 14.0.3192.2 09/07/2019
CU 15 14.0.3162.1 23-05-2019
CU 14 14.0.3076.1 25-03-2019
CU 13 14.0.3048.4 18-12-2018
CU 12 14.0.3045.24 24-10-2018
CU 11 14.0.3038.14 20-09-2018
CU 10 14.0.3037.1 27-08-2018
CU 9 GDR 14.0.3035.2 18-08-2018
GDR 2 14.0.2002.14 18-08-2018
CU 9 14.0.3030.27 18-07-2018
CU 8 14.0.3029.16 21-06-2018
CU 7 14.0.3026.27 24-05-2018
CU 6 14.0.3025.34 19-04-2018
CU 5 14.0.3023.8 20-03-2018
CU 4 14.0.3022.28 20-02-2018
CU 3 14.0.3015.40 03-01-2018
GDR 1 14.0.2000.63 03-01-2018
CU 2 14.0.3008.27 28-11-2017
CU 1 14.0.3006.16 24-10-2017
GA 14.0.1000.169 02-10-2017

Problemas conhecidos

As seções a seguir descrevem problemas conhecidos com o SQL Server 2017 (14.x) no Linux.

Geral

  • O comprimento do nome do host em que SQL Server é instalado precisa ter 15 caracteres ou menos.

    • Resolução: altere o nome no /etc/hostname para algo de 15 caracteres ou menos.
  • Definir manualmente a hora do sistema de maneira a voltar no tempo fará com que o SQL Server pare de atualizar a hora do sistema interno dentro do SQL Server.

    • Resolução: Reinicie o SQL Server.
  • Há suporte apenas para instalações de instância única.

    • Resolução: Se quiser ter mais de uma instância em um determinado host, considere usar VMs ou contêineres do Docker.
  • SQL Server O Configuration Manager não pode se conectar ao SQL Server em Linux.

  • O idioma padrão do logon de sa é inglês.

    • Resolução: Altere o idioma do logon do sa usando a instrução ALTER LOGIN.

Bancos de dados

  • O banco de dados master não pode ser movido com o utilitário mssql-conf. Outros bancos de dados do sistema podem ser movidos usando mssql-conf.

  • Ao restaurar um banco de dados do qual foi feito backup no SQL Server em Windows, você deve usar a cláusula WITH MOVE na instrução Transact-SQL.

  • Certos algoritmos (pacotes de criptografia) para o protocolo TLS não funcionam corretamente com SQL Server no Linux. Isso causa falhas de conexão ao tentar se conectar ao SQL Server e problemas de estabelecimento de conexões entre réplicas em grupos de alta disponibilidade.

    • Resolução: modifique o script de configuração mssql.conf para SQL Server no Linux para desabilitar pacotes de criptografia problemáticos, fazendo o seguinte:

      1. Adicione os itens a seguir a /var/opt/mssql/mssql.conf.

        [network]
        tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHA
        

        Observação

        No código anterior, ! nega a expressão. Isso informa ao OpenSSL para não usar o conjunto de codificação a seguir.

      2. Reinicie o SQL Server com o seguinte comando.

        sudo systemctl restart mssql-server
        
  • Bancos de dados do SQL Server 2014 (12.x) no Windows que usam OLTP in-memory não podem ser restaurados par o SQL Server no Linux. Para restaurar um banco de dados do SQL Server 2014 (12.x) que usa OLTP in-memory, primeiro atualize os bancos de dados para uma nova versão do SQL Server no Windows antes de movê-los para o SQL Server no Linux por meio de backup/restauração ou de desanexar/anexar.

  • A permissão de usuário ADMINISTER BULK OPERATIONS não tem suporte no Linux no momento.

Rede

As funcionalidades que envolvem conexões TCP de saída do processo do sqlservr, como servidores vinculados ou grupos de disponibilidade, talvez não funcionem se ambas as condições a seguir forem atendidas:

  1. O servidor de destino é especificado como um nome de host e não como um endereço IP.

  2. A instância de origem tem IPv6 desabilitado no kernel. Para verificar se o sistema tem o IPv6 habilitado no kernel, todos os testes a seguir precisam ser aprovados:

    • cat /proc/cmdline imprimirá o cmdline de inicialização do kernel atual. A saída não deve conter ipv6.disable=1.
    • O diretório /proc/sys/net/ipv6/ precisa existir.
    • Um programa em C que chama socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) deve ter êxito – syscall deve retornar um fd != -1 e não falhar com EAFNOSUPPORT.

O erro exato depende do recurso. Para servidores vinculados, isso se manifesta como um erro de tempo limite de logon. Para grupos de disponibilidade, o DDL do ALTER AVAILABILITY GROUP JOIN no secundário falhará após 5 minutos com um erro download configuration timeout.

Para contornar esse problema, adote uma das seguintes medidas:

  1. Use IPs em vez de nomes do host para especificar o destino da conexão TCP.

  2. Habilite o IPv6 no kernel removendo ipv6.disable=1 da linha de comando de inicialização. A maneira de fazer isso depende da distribuição do Linux e do carregador de inicialização, como o grub. Se você deseja que o IPv6 seja desabilitado, ainda pode desativá-lo definindo net.ipv6.conf.all.disable_ipv6 = 1 na configuração sysctl (por exemplo, /etc/sysctl.conf). Isso ainda impedirá que o adaptador de rede do sistema receba um endereço IPv6, mas permitirá que os recursos do sqlservr funcionem.

NFS (sistema de arquivos de rede)

Se você usar compartilhamentos remotos NFS (Network File System) em produção, observe os seguintes requisitos de suporte:

  • Use o NFS versão 4.2 ou superior. As versões mais antigas do NFS não dão suporte aos recursos necessários, como fallocate e criação de arquivos esparsos, comuns nos sistemas de arquivos modernos.

  • Localize somente os diretórios /var/opt/mssql na montagem NFS. Não há suporte para outros arquivos, como os binários do sistema SQL Server.

  • Verifique se os clientes NFS usam a opção nolock ao montar o compartilhamento remoto.

Localização

  • Se a sua localidade não for inglês (en_us) durante a instalação, você precisará usar a codificação UTF-8 em sua sessão/terminal de Bash. Se usar a codificação ASCII, você poderá ver um erro semelhante ao seguinte:

    UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 8: ordinal not in range(128)
    

    Se não for possível usar a codificação UTF-8, você deverá executar a instalação usando a variável de ambiente MSSQL_LCID para especificar sua escolha de idioma.

    sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
    
  • Ao executar mssql-conf setup e executar uma instalação de SQL Server com idioma diferente do inglês, caracteres estendidos incorretos são exibidos após o texto localizado, "Configurando o SQL Server...". Ou, para instalações não baseadas em latim, a frase pode estar completamente ausente. A frase ausente deve exibir a seguinte cadeia de caracteres localizada:

    The licensing PID was successfully processed. The new edition is [<Name> edition].

    Essa cadeia de caracteres é fornecida apenas para fins informativos e a próxima Atualização Cumulativa do SQL Server resolverá isso para todos os idiomas. Isso não afetará o êxito da instalação do SQL Server de forma alguma.

Nem todos os filtros estão disponíveis nesta versão, incluindo filtros para documentos do Microsoft Office. Para obter uma lista de filtros com suporte, confira Instalar a pesquisa de texto completo do SQL Server no Linux.

O SQL Server Integration Services (SSIS)

O pacote mssql-server-is não tem suporte no SUSE nesta versão. Atualmente, ele tem suporte no Ubuntu e no RHEL (Red Hat Enterprise Linux).

Os pacotes do Integration Services podem usar as conexões ODBC no Linux. Essa funcionalidade foi testada com o SQL Server e os drivers ODBC do MySQL, mas também espera-se que ela funcione com qualquer driver ODBC Unicode que observa a especificação ODBC. Em tempo de design, é possível fornecer um DSN ou uma cadeia de conexão para conectar-se aos dados ODBC; também é possível usar a autenticação do Windows. Para saber mais, confira a postagem no blog que anunciou o suporte do ODBC para Linux.

Não há suporte para os seguintes recursos nesta versão ao executar pacotes SSIS no Linux:

  • Integration Services Banco de dados de catálogo
  • Execução de pacotes agendada pelo SQL Agent
  • Autenticação do Windows
  • Componentes de terceiros
  • Change Data Capture (CDC)
  • Integration Services Scale Out
  • Feature Pack do Azure para SSIS
  • Suporte para Hadoop e HDFS
  • Microsoft Connector for SAP BW

Para obter uma lista de componentes internos do SSIS que não têm suporte no momento ou que têm suporte com limitações, confira Limitações e problemas conhecidos do SSIS no Linux.

Para saber mais sobre o SSIS no Linux, confira os seguintes artigos:

SQL Server Management Studio (SSMS)

As seguintes limitações se aplicam ao SQL Server Management Studio no Windows conectado ao SQL Server no Linux.

  • Não há suporte para planos de manutenção.

  • Não há suporte para a extensão MDW (Data Warehouse de Gerenciamento) e o coletor de dados no SQL Server Management Studio.

  • Componentes da interface do usuário do SQL Server Management Studio que têm as opções de Autenticação do Windows ou log de eventos do Windows não funcionam com o Linux. Você ainda pode usar esses recursos com outras opções, como logons do SQL.

  • O número de arquivos de log a serem retidos não pode ser modificado.

Confira também

Próximas etapas