Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As secções seguintes descrevem problemas conhecidos com o SQL Server em Linux.
Geral
A tabela seguinte lista os problemas mais comuns com o SQL Server em Linux.
| Questão | Resolução |
|---|---|
| O comprimento do nome de host onde o SQL Server está instalado precisa de ser de 15 caracteres ou menos. | Altere o nome no para um valor de 15 caracteres ou menos. |
| Definir manualmente o tempo do sistema para trás no tempo faz com que o SQL Server pare de atualizar o tempo interno do sistema dentro do Database Engine. | Reiniciar o SQL Server. |
| Apenas instalações de instância única são suportadas. | Se você quiser ter mais de uma instância em um determinado host, considere usar máquinas virtuais ou contêineres Linux. |
| O Gestor de Configuração do SQL Server não consegue ligar-se ao SQL Server em Linux. | Nenhuma. |
| O idioma padrão da conta é o inglês. | Altere o idioma da conta com a declaração . |
O provedor OLE DB registra 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 gera 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: apenas a imagens de contentores do SQL Server 2022 (16.x). |
Bases 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 com mssql-conf.
Quando restaura uma base de dados que foi guardada em SQL Server em Windows, deve usar a cláusula
WITH MOVEna instrução Transact-SQL. Para mais informações, consulte Migrar uma base de dados SQL Server de Windows para Linux usando backup e restauro.Certos algoritmos (suites de cifras) para Segurança da Camada de Transporte (TLS) não funcionam corretamente com SQL Server em Linux. Isto resulta em falhas de ligação ao tentar ligar ao SQL Server e problemas na criação de ligações entre réplicas em grupos de alta disponibilidade.
Para resolver este problema, modifique o script de configuração
mssql.confpara SQL Server em Linux para desativar conjuntos de cifras problemáticos, seguindo estes passos:Adicione a seguinte secção a . O símbolo de exclamação () nega a expressão. Isso diz ao OpenSSL para não usar o conjunto de codificação que se segue.
[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 o SQL Server com o seguinte comando.
sudo systemctl restart mssql-server
Bases de dados do SQL Server 2014 (12.x) em Windows que usam In-Memory OLTP não podem ser restauradas no SQL Server em Linux. Se a sua base de dados SQL Server 2014 (12.x) usar In-Memory OLTP, primeiro atualize as bases de dados para uma versão mais recente do SQL Server no Windows. Depois podes transferi-lo para SQL Server em Linux, com backup/restauro, ou desligar/anexar.
A permissão de utilizador não é suportada no Linux de momento.
Backups comprimidos com TDE, feitos usando SQL Server 2019 (15.x) CU 16 e versões posteriores, não podem ser restaurados em versões anteriores do SQL Server 2019 (15.x). Para obter mais informações, consulte CORREÇÃO: O erro 3241 ocorre ao executar RESTORE LOG ou RESTORE DATABASE.
Backups comprimidos pelo Encriptação de Dados Transparente (TDE) feitos com versões anteriores do SQL Server 2019 (15.x) ainda podem ser restaurados usando o SQL Server 2019 (15.x), 16 e versões posteriores.
Quando instala SQL Server 2022 (16.x) no Ubuntu 22.04, pode ver a seguinte mensagem de erro:
Failed to start Microsoft SQL Server Database Engine. Se você revisar o log de erros, verá um caminho incorreto para os bancos de dados do sistema.Para contornar 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
Recursos que envolvem conexões TCP de saída do processo de , como servidores vinculados, PolyBase ou grupos de disponibilidade, podem não funcionar se ambas as condições a seguir forem atendidas:
O servidor de destino é especificado como um nome de host e não um endereço IP.
A instância de origem tem o IPv6 desativado no kernel. Para verificar se o seu sistema tem IPv6 ativado no kernel, todos os seguintes testes devem passar:
- imprime a linha de comandos de inicialização do kernel atual. A saída não deve conter .
- O diretório deve existir.
- Um programa C que chama deve ter sucesso - a chamada de sistema deve retornar um e não falhar com .
O erro exato depende da funcionalidade. Para servidores vinculados, você verá um erro de tempo limite de login. Para grupos de disponibilidade, o DDL no secundário falhará após cinco minutos com um erro .
Para contornar esse problema, execute uma das seguintes opções:
Use IPs em vez de nomes de 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 grub. Se desejar que o IPv6 seja desativado, você ainda poderá desativá-lo definindo na configuração (por exemplo, ). Embora essa configuração impeça o adaptador de rede do sistema de obter um endereço IPv6, ela permite que os recursos funcionem.
TLS 1.3 não suportado no SQL Server 2022
Aplica-se a: SQL Server 2022 (16.x) apenas.
Embora o TLS 1.3 seja suportado no SQL Server 2022 (16.x) para Windows, deve usar o TLS 1.2 no Linux.
Observação
O TLS 1.3 é suportado para SQL Server 2025 (17.x) em Ubuntu 22.04, Ubuntu 24.04, RHEL 9 e RHEL 10. O TLS 1.3 está habilitado por padrão.
Sistema de arquivos de rede (NFS)
Se você usar compartilhamentos remotos NFS (Network File System) na 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 suportam os recursos necessários, como a criação de arquivos e esparsos, comuns aos sistemas de arquivos modernos.
Localize apenas os diretórios na montagem NFS. Outros ficheiros, como os binários do sistema SQL Server, não são suportados.
Certifique-se de que os clientes NFS usem a opção ao montar o compartilhamento remoto.
Localização
Se sua localidade não for em inglês () durante a configuração, você deve usar a codificação UTF-8 em sua sessão/terminal bash. Se utilizar a codificação ASCII, poderá ver um erro semelhante à seguinte saída:
UnicodeEncodeError: codec 'ascii' não pode codificar o caractere u'\xf1' na posição 8: ordinal não no intervalo(128)
Se você não puder usar a codificação UTF-8, execute 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 executa
mssql-conf setupe realiza uma instalação não inglesa de SQL Server, caracteres estendidos incorretos podem ser exibidos após o texto localizado, "Configuring SQL Server... ". Ou, para instalações que não usem o alfabeto latino, pode faltar completamente a frase. A frase ausente deve exibir a seguinte cadeia de caracteres localizada:O PID de licenciamento foi processado com sucesso. A nova edição é [Nome edição].
Esta cadeia é gerada apenas para fins informativos, não afeta de forma alguma a instalação bem-sucedida do SQL Server.
Pesquisa Full-Text
Nem todos os filtros estão disponíveis nesta versão, incluindo filtros para documentos do Microsoft Office. Para uma lista de filtros suportados, veja Install SQL Server Full-Text Search no Linux.
SQL Server Integration Services (SSIS)
O pacote não é suportado no SUSE Linux Enterprise Server (SLES). O pacote é suportado no Ubuntu e Red Hat Enterprise Linux (RHEL).
Os pacotes do Integration Services podem usar conexões ODBC no Linux. Esta funcionalidade foi testada com os drivers SQL Server e MySQL ODBC, mas espera-se também que funcione com qualquer driver Unicode ODBC que cumpra a especificação ODBC. No momento do design, pode fornecer uma DSN ou uma string de conexão para se ligar aos dados ODBC; também pode usar a autenticação do Windows. Para obter mais informações, consulte a postagem do blog anunciando o suporte a ODBC no Linux.
Os seguintes recursos não são suportados nesta versão quando você executa pacotes SSIS no Linux:
- Banco de dados do Catálogo do Integration Services
- Execução de pacotes agendada pelo SQL Server Agent
- Autenticação Windows
- Componentes de terceiros
- Captura de Alteração de Dados (CDC)
- Expansão do Integration Services
- Azure Feature Pack para SSIS
- Suporte a Hadoop e HDFS
- Microsoft Connector para SAP BW
Para obter uma lista de componentes SSIS internos que não são suportados atualmente ou que são suportados com limitações, consulte Limitações e problemas conhecidos do SSIS no Linux.
Para obter mais informações sobre o SSIS no Linux, consulte os seguintes artigos:
- Postagem no blog anunciando o suporte SSIS para Linux.
- Instale os Serviços de Integração do SQL Server (SSIS) no Linux
- Extraia, transforme e carregue dados no Linux com o SSIS
SQL Server Management Studio (SSMS)
As seguintes limitações aplicam-se ao SQL Server Management Studio no Windows ligado ao SQL Server em Linux.
Os planos de manutenção não são suportados.
O Management Data Warehouse (MDW) e o coletor de dados no SQL Server Management Studio não são suportados.
Componentes da interface do SQL Server Management Studio que têm autenticação Windows ou opções de registo de eventos do Windows não funcionam com Linux. Ainda pode usar estas funcionalidades com outras opções, como logins do SQL Server.
O número de arquivos de log a serem retidos não pode ser modificado.
Alta disponibilidade e recuperação de desastres
Aplica-se a: SQL Server 2022 (16.x) apenas.
Quando executa o SQL Server 2022 (16.x) CU 16 e versões anteriores, no RHEL 9 como uma aplicação confinada com o SELinux ativado, o clustering do Pacemaker pode não funcionar como esperado. Deve instalar o SQL Server 2022 (16.x) como uma aplicação ilimitada com o SELinux ativado, para tirar partido das capacidades de clustering do Pacemaker. Este problema está 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, existem alguns pré-requisitos a ter em conta com o cgroup-v1 antes de instalar os Serviços de Aprendizagem Automática.
- RHEL 9
- Ubuntu 22,04
Como pré-requisito, precisa ser habilitado de acordo com Usando cgroupfs para gerenciar manualmente cgroups Red Hat Enterprise Linux 9 da Red Hat.
Depois segue as instruções para install SQL Machine Learning Services conforme documentado.
Desative o isolamento do namespace de rede.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Reinicie o serviço para que essas alterações entrem em vigor.
sudo systemctl restart mssql-launchpadd
Problemas conhecidos no SQL Server 2025
Os seguintes problemas afetam o SQL Server 2025 (17.x).
O SQL Server em Linux falha em arrancar em máquinas com arquitetura híbrida de CPU
Issue: As instâncias do SQL Server no Linux podem falhar ao iniciar se a máquina utilizar um processador Intel da 12.ª geração ou posterior com arquitetura híbrida, e se o sistema operativo do anfitrião for Linux.
Poderá ver uma mensagem de erro semelhante à seguinte no output:
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, você pode contornar o problema desativando núcleos de eficiência (E-cores) em seu BIOS. Se usares containers, ou um hipervisor como o Hyper-V no Windows (incluindo WSL), não és afetado.
Modelos ONNX locais não suportados em sistemas operacionais Linux
CREATE MODELO EXTERNO modelos locais ONNX alojados diretamente no SQL Server não estão atualmente disponíveis para Linux em SQL Server 2025 (17.x).