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 |
- 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 | 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:
- Instalar pacote do SQL Server
- Instalar pacote de pesquisa de texto completo
- Instalar o SQL Server Integration Services
- Instalar o suporte ao R e Python dos Serviços de Machine Learning do SQL Server 2019 no Linux
- Instalar pacote do PolyBase
- Habilitar o SQL Server Agent
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.
- Resolução: altere o nome no
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
.
- Resolução: Altere o idioma do logon do sa usando a instrução
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: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.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:
O servidor de destino é especificado como um nome de host e não como um endereço IP.
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 conteripv6.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 umfd != -1
e não falhar comEAFNOSUPPORT
.
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:
Use IPs em vez de nomes do host para especificar o destino da conexão TCP.
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 definindonet.ipv6.conf.all.disable_ipv6 = 1
na configuraçãosysctl
(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 dosqlservr
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.
Pesquisa de Texto Completo
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:
- Postagem no blog anunciando o suporte do SSIS para Linux.
- Instalar o SSIS (SQL Server Integration Services) no Linux
- Extrair, transformar e carregar dados no Linux com o SSIS
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.