Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As seções a seguir descrevem problemas conhecidos com SQL Server em Linux.
Geral
A tabela a seguir lista os problemas mais comuns com SQL Server em Linux.
| Problema | Resolução |
|---|---|
| O comprimento do nome do host em que SQL Server está instalado precisa ter 15 caracteres ou menos. | Altere o nome no campo para um valor de 15 caracteres ou menos. |
| Definir manualmente o tempo do sistema para trás no tempo faz com que SQL Server pare de atualizar o tempo interno do sistema dentro do Mecanismo de Banco de Dados. | Reinicie SQL Server. |
| Há suporte apenas para instalações de instância única. | Se quiser ter mais de uma instância em um determinado host, considere usar máquinas virtuais ou contêineres do Linux. |
| SQL Server Configuration Manager não consegue se conectar a SQL Server em Linux. | Nenhum. |
| O idioma padrão da conta é inglês. | Utilize a declaração para alterar o idioma da conta. |
O provedor OLE DB 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 isn't an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support. |
Nenhuma ação é necessária. O provedor OLE DB é assinado usando SHA256. O Mecanismo de Banco de Dados do SQL Server não valida corretamente o .dll assinado. |
O comando Redefinir senha usando mssql-conf lança o seguinte erro:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
A mensagem de erro é um falso negativo. A redefinição de senha foi bem-sucedida e você pode continuar usando a nova senha. Aplica-se a: imagens de contêiner do SQL Server 2022 (16.x) apenas. |
Bancos de dados
O banco de dados 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 com backup em SQL Server no Windows, você deve usar a cláusula
WITH MOVEna instrução Transact-SQL. Para obter mais informações, consulte Igra um banco de dados SQL Server de Windows para Linux usando backup e restauração.Determinados algoritmos (conjuntos de criptografia) para TLS (Transport Layer Security) não funcionam corretamente com SQL Server em Linux. Isso resulta em falhas de conexão ao tentar se conectar a SQL Server e problemas ao estabelecer conexões entre réplicas em grupos de alta disponibilidade.
Para resolver esse problema, modifique o script de configuração
mssql.confpara SQL Server em Linux desabilitar conjuntos de criptografia problemáticos seguindo estas etapas:Adicione a seguinte seção a . O símbolo de exclamação () nega a expressão. Isso informa ao OpenSSL para não usar o conjunto de criptografia a seguir.
[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-SHAReinicie SQL Server com o comando a seguir.
sudo systemctl restart mssql-server
Bancos de dados do SQL Server 2014 (12.x) em Windows que usam In-Memory OLTP não podem ser restaurados para o SQL Server em Linux. Se o banco de dados SQL Server 2014 (12.x) usar In-Memory OLTP, primeiro atualize os bancos de dados para uma versão mais recente do SQL Server no Windows. Em seguida, você pode movê-lo para o SQL Server no Linux, com backup/restauração, ou desanexar/anexar.
A permissão do usuário não é suportada no Linux atualmente.
Backups compactados com TDE que são feitos usando SQL Server 2019 (15.x) CU 16 e versões posteriores não podem ser restaurados para versões anteriores do SQL Server 2019 (15.x). Para mais informações, consulte CORREÇÃO: ocorre o erro 3241 durante a execução de RESTORE LOG ou RESTORE DATABASE.
Backups compactados por Transparent Data Encryption (TDE) que são feitos usando versões anteriores do SQL Server 2019 (15.x) ainda podem ser restaurados usando o SQL Server 2019 (15.x) CU 16 e versões posteriores.
Ao instalar o SQL Server 2022 (16.x) no Ubuntu 22.04, você poderá ver a seguinte mensagem de erro:
Failed to start Mecanismo de Banco de Dados do Microsoft SQL Server. Se você analisar o log de erros, verá um caminho incorreto para os bancos de dados do sistema.Para solucionar esse problema, inicie a instância no modo de usuário único e use para mover o local configurado dos bancos de dados do sistema para o local padrão . Depois de fazer essa alteração, reinicie o serviço.
Rede
Os recursos que envolvem conexões TCP de saída do processo, como servidores vinculados, PolyBase ou grupos de disponibilidade, podem não funcionar 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:
- imprime a linha de comando de inicialização do kernel atual. A saída não deve conter .
- O diretório precisa existir.
- Um programa em C que chama deve ter êxito – syscall deve retornar um e não falhar com .
O erro exato depende do recurso. Para servidores vinculados, você verá um erro de tempo limite de logon. Para grupos de disponibilidade, o DDL no secundário falhará após cinco minutos devido a um erro.
Para encontrar uma solução alternativa para esse problema, faça uma das seguintes opções:
Use IPs em vez de nomes do host para especificar o destino da conexão TCP.
Habilite o IPv6 no kernel removendo da linha de comando de inicialização. O método depende da distribuição Linux e do bootloader, como o grub. Se você deseja que o IPv6 seja desabilitado, ainda pode desativá-lo definindo na configuração (por exemplo, ). Embora essa configuração impeça que o adaptador de rede do sistema obtenha um endereço IPv6, ela permite que os recursos do funcionem.
O TLS 1.3 não tem suporte no SQL Server 2022
Aplica-se a: SQL Server 2022 (16.x) apenas.
Embora o TLS 1.3 tenha suporte no SQL Server 2022 (16.x) para Windows, você deve usar o TLS 1.2 no Linux.
Observação
O TLS 1.3 tem suporte para SQL Server 2025 (17.x) no Ubuntu 22.04, Ubuntu 24.04, RHEL 9 e RHEL 10. O TLS 1.3 está habilitado por padrão.
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 versões posteriores. As versões mais antigas do NFS não dão suporte aos recursos necessários, como e criação de arquivos esparsos, comuns nos sistemas de arquivos modernos.
Localize somente os diretórios na montagem NFS. Outros arquivos, como os binários do sistema SQL Server, não têm suporte.
Verifique se os clientes NFS usam a opção ao montar o compartilhamento remoto.
Localização
Se a sua localidade não for inglês () durante a instalação, você precisará usar a codificação UTF-8 em sua sessão/terminal de Bash. Se você usar a codificação ASCII, poderá ver um erro semelhante ao seguinte resultado:
UnicodeEncodeError: o codec 'ascii' não pode codificar o caractere u'\xf1' na posição 8: ordinal fora do intervalo (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 para especificar sua escolha de idioma.
sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupQuando você executa
mssql-conf setupe executa uma instalação não em inglês de SQL Server, caracteres estendidos incorretos podem ser exibidos após o texto localizado: "Configurando 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:O PID de licenciamento foi processado com êxito. A nova edição é [Nome edição].
Esta string é exibida apenas para fins informativos, não afetando a instalação bem-sucedida do SQL Server de forma alguma.
Pesquisa de Texto Completo
Nem todos os filtros estão disponíveis com esta versão, incluindo filtros para documentos Microsoft Office. Para obter uma lista de filtros com suporte, consulte Instalar pesquisa de SQL Server Full-Text no Linux.
SQL Server Integration Services (SSIS)
O pacote não é compatível com o SLES (SUSE Linux Enterprise Server). O pacote é compatível com o RHEL (Red Hat Enterprise Linux) e o Ubuntu.
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 deve funcionar com qualquer driver ODBC Unicode que observe a especificação ODBC. Durante o design, você pode fornecer um DSN ou uma string de conexão para se conectar aos dados ODBC; você também pode usar 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 agendada do pacote por SQL Server Agent
- Autenticação Windows
- Componentes de terceiros
- CDA (captura de dados de alterações)
- Expansão do Integration Services
- Azure Feature Pack para SSIS
- Suporte para Hadoop e HDFS
- Microsoft Connector para 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 SQL Server Integration Services (SSIS) no Linux
- Extrair, transformar e carregar dados no Linux com o SSIS
SQL Server Management Studio (SSMS)
As limitações a seguir se aplicam a SQL Server Management Studio em Windows conectados a SQL Server em Linux.
Não há suporte para planos de manutenção.
Não há suporte para 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 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 SQL Server.
O número de arquivos de log a serem retidos não pode ser modificado.
Alta disponibilidade e recuperação de desastre
Aplica-se a: SQL Server 2022 (16.x) apenas.
Quando você executa o SQL Server 2022 (16.x) CU 16 e versões anteriores no RHEL 9 como um aplicativo confinado com o SELinux habilitado, o clustering com o Pacemaker pode não funcionar conforme o esperado. Você deve instalar SQL Server 2022 (16.x) como um aplicativo não definido com SELinux ativado, para usar os recursos de clustering do Pacemaker. Esse problema é resolvido no SQL Server 2022 (16.x) CU 17.
Serviços de Machine Learning
Aplica-se a: SQL Server 2022 (16.x) apenas.
Para pacotes do SQL Server 2022 (16.x) para RHEL 9 e Ubuntu 22.04, há alguns pré-requisitos a considerar com cgroup-v1, antes de instalar os serviços de Machine Learning.
- RHEL 9
- Ubuntu 22.04
Como prerrequisito, é necessário habilitar conforme o uso de cgroupfs para gerenciar manualmente os cgroups no Red Hat Enterprise Linux 9 da Red Hat.
Em seguida, siga as instruções para instalar o SQL Machine Learning Services conforme documentado.
Desabilite o isolamento do namespace de rede.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Reinicie o serviço para que as alterações entrem em vigor.
sudo systemctl restart mssql-launchpadd
Problemas conhecidos no SQL Server 2025
Os problemas a seguir afetam SQL Server 2025 (17.x).
SQL Server em Linux falha ao iniciar em computadores com arquitetura de CPU híbrida
Issue: instâncias do SQL Server no Linux podem falhar ao iniciar se o computador usar uma CPU Intel de arquitetura híbrida da 12ª geração ou posterior, e o sistema operacional host for Linux.
Você pode ver uma mensagem de erro semelhante ao exemplo abaixo:
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Se você quiser usar um sistema operacional host Linux, poderá contornar o problema desabilitando núcleos de eficiência (núcleos E) em seu BIOS. Se você usar contêineres ou um hipervisor como Hyper-V em Windows (incluindo o WSL), você não será afetado.
Modelos ONNX locais sem suporte em sistemas operacionais Linux
CREATE EXTERNAL MODEL modelos ONNX locais hospedados diretamente no SQL Server não estão disponíveis no momento para Linux no SQL Server 2025 (17.x).