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

Aplica-se a: SQL Server 2019 (15.x) – Linux

As notas sobre a versão a seguir se aplicam ao SQL Server 2019 (15.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.

Estas notas sobre a versão destinam-se especificamente às versões do SQL Server 2019 (15.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 Obter
Red Hat Enterprise Linux 7.7 – 7.9 ou 8.0 – 8.6 Server XFS ou EXT4 Guia de instalação Obter o RHEL 8.0
SUSE Enterprise Linux Server v12 (SP3 – SP5) ou v15 (SP1 – SP3) XFS ou EXT4 Guia de instalação Obter o SLES v15
Ubuntu 16.04 LTS 1, 18.04 LTS, 20.04 LTS XFS ou EXT4 Guia de instalação Obter o Ubuntu 20.04
Docker Engine 1.8+ no Windows, Mac ou Linux N/D Guia de instalação Obter o Docker

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 2019. A tabela a seguir mostra a versão mais recente, que é a CU 18. Para ver o histórico completo de versões, confira Histórico de versões do SQL Server 2019.

Versão Versão Data Build artigos da base de dados
SQL Server 2019 (15.x) CU 18 2022-09-28 15.0.4261.1 KB 5017593
Distribuição Nome do pacote Versão do pacote Baixar
Red Hat Enterprise Linux
RHEL 8 Mecanismo de Banco de Dados 15.0.4261.1-2 Pacote RPM do Mecanismo de Banco de Dados
RHEL 8 Extensibilidade 15.0.4261.1-2 Pacote RPM de extensibilidade
RHEL 8 Pesquisa de Texto Completo 15.0.4261.1-2 Pacote RPM da pesquisa de texto completo
RHEL 8 Alta disponibilidade 15.0.4261.1-2 Pacote RPM de Alta Disponibilidade
RHEL 8 Extensibilidade do Java 15.0.4261.1-2 Pacote RPM de extensibilidade do Java
RHEL 8 PolyBase 15.0.4261.1-2 Pacote RPM do PolyBase
RHEL 8 SSIS 15.0.4063.15-88 Pacote RPM do SSIS
SUSE Enterprise Linux Server
SLES 15 Mecanismo de Banco de Dados 15.0.4261.1-2 Pacote RPM do Mecanismo de Banco de Dados
SLES 15 Extensibilidade 15.0.4261.1-2 Pacote RPM de extensibilidade
SLES 15 Pesquisa de Texto Completo 15.0.4261.1-2 Pacote RPM da pesquisa de texto completo
SLES 15 Alta disponibilidade 15.0.4261.1-2 Pacote RPM de Alta Disponibilidade
SLES 15 Extensibilidade do Java 15.0.4261.1-2 Pacote RPM de extensibilidade do Java
SLES 15 PolyBase 15.0.4261.1-2 Pacote RPM do PolyBase
Ubuntu
Ubuntu 20.04 Mecanismo de Banco de Dados 15.0.4261.1-2 Pacote Debian do Mecanismo de Banco de Dados
Ubuntu 20.04 Extensibilidade 15.0.4261.1-2 Pacote Debian de extensibilidade
Ubuntu 20.04 Pesquisa de Texto Completo 15.0.4261.1-2 Pacote Debian da pesquisa de texto completo
Ubuntu 20.04 Alta disponibilidade 15.0.4261.1-2 Pacote Debian de alta disponibilidade
Ubuntu 20.04 Extensibilidade do Java 15.0.4261.1-2 Pacote Debian de extensibilidade do Java
Ubuntu 20.04 PolyBase 15.0.4261.1-2 Pacote Debian do PolyBase
Ubuntu 18.04 SSIS 15.0.4153.1-89 Pacote Debian do SSIS

Como instalar atualizações

Se tiver configurado o repositório da CU (mssql-server-2019), 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 2019 (15.x).

Versão Versão Data de liberação
CU 18 15.0.4261.1 2022-09-28
CU 17 15.0.4249.2 2022-08-11
CU 16 GDR 15.0.4236.7 14/06/2022
CU 16 15.0.4223.1 2022-04-18
CU 15 15.0.4198.2 27/01/2022
CU 14 15.0.4188.2 22/11/2021
CU 13 15.0.4178.1 05/10/2021
CU 12 15.0.4153.1 2021-08-04
CU 11 15.0.4138.2 10/06/2021
CU 10 15.0.4123.1 06/04/2021
CU 9 15.0.4102.2 2021-02-10
CU 8 GDR 15.0.4083.2 12-01-2021
GDR 1 15.0.2080.9 12-01-2021
CU 8 15.0.4073.23 07/10/2020
CU 7 (Removida) 15.0.4063.15 2020-09-02
CU 6 15.0.4053.23 04-08-2020
CU 5 15.0.4043.16 2020-06-22
CU 4 15.0.4033.1 2020-03-31
CU 3 15.0.4023.6 2020-03-12
CU 2 15.0.4013.40 2020-02-13
CU 1 15.0.4003.23 2020-01-07
GA 15.0.2000.5 2019-11-04

Problemas conhecidos

As seções a seguir descrevem problemas conhecidos com o SQL Server 2019 (15.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.
  • O provedor OLEDB registra em log o seguinte aviso: Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this is not an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support.

    • Resolução: Nenhuma ação é necessária. O provedor OLEDB é assinado usando SHA256. O Mecanismo de banco de dados do SQL Server não valida a .dll assinada corretamente.

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.

  • Backups compactados por TDE que foram realizados usando a CU 16 do SQL Server 2019 (15.x) e versões posteriores não podem ser restaurados para versões anteriores da CU do SQL Server 2019 (15.x). Para obter mais informações, confira CORREÇÃO: o erro 3241 ocorre durante a execução de RESTORE LOG ou RESTORE DATABASE.

    Backups compactados TDE (Transparent Data Encryption) que são feitos usando versões anteriores de CU do SQL Server 2019 (15.x) ainda podem ser restaurados usando a CU 16 do SQL Server 2019 (15.x) e versões posteriores.

Rede

Os recursos que envolvem conexões TCP de saída do processo do sqlservr, como servidores vinculados, o PolyBase ou grupos de disponibilidade, talvez não funcionem se as seguintes condições 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