Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I följande avsnitt beskrivs kända problem med SQL Server on Linux.
Allmänt
I följande tabell visas de vanligaste problemen med SQL Server on Linux.
| Problematik | Upplösning |
|---|---|
| Längden på värdnamnet där SQL Server är installerad måste vara 15 tecken eller kortare. | Byt namn till /etc/hostname ett värde som är 15 tecken långt eller kortare. |
| Att manuellt ställa in systemtiden bakåt gör att SQL Server slutar uppdatera den interna systemtiden i Database Engine. | Starta om SQL Server. |
| Bara enskilda instansinstallationer stöds. | För att ha mer än en instans på en given värd, överväg att använda virtuella maskiner eller Linux-containrar. |
| SQL Server Configuration Manager kan inte ansluta till SQL Server on Linux. | Configuration Manager stöds inte i Linux. Använd mssql-conf för att hantera SQL Server on Linux i stället. |
Standardspråket för sa-kontot är engelska. |
Ändra språket för sa-kontot med ALTER LOGIN-instruktionen. |
OLE DB-providern loggar följande varning: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. |
Ingen åtgärd krävs. OLE DB-leverantören använder en SHA256-signatur. Databasmotor för SQL Server verifierar inte den signerade .dll korrekt. |
Återställningslösenordskommandot i mssql-conf ger följande fel:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
Felmeddelandet är falskt negativt. Lösenordsåterställningen lyckas, och du kan fortsätta använda det nya lösenordet. Gäller endast SQL Server 2022 (16.x) containerbilder. |
Databaser
Du kan inte flytta databasen
mastermed verktygetmssql-conf. Du kan flytta andra systemdatabaser medmssql-conf.När du återställer en databas som säkerhetskopierades på SQL Server på Windows måste du använda satsen
WITH MOVEi instruktionen Transact-SQL. Mer information finns i Migrera en SQL Server databas från Windows till Linux med hjälp av säkerhetskopiering och återställning.Vissa algoritmer (chiffersviter) för TLS (Transport Layer Security) fungerar inte korrekt med SQL Server on Linux. Detta beteende orsakar anslutningsavbrott när du försöker ansluta till SQL Server, och problem med att etablera anslutningar mellan repliker i högtillgänglighetsgrupper.
För att lösa detta problem, modifiera konfigurationsskriptet
mssql.confför SQL Server on Linux för att inaktivera problematiska chiffersviter:Lägg till följande avsnitt i
/var/opt/mssql/mssql.conf. Utropstecknet (!) negerar uttrycket. Denna negation säger åt OpenSSL att inte använda chifferpaketet som följer.[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-SHAStarta om SQL Server med följande kommando.
sudo systemctl restart mssql-server
Du kan inte återställa SQL Server 2014 (12.x)-databaser på Windows som använder In-Memory OLTP för att SQL Server on Linux. Om din SQL Server 2014-databas (12.x) använder In-Memory OLTP uppgraderar du först databaserna till en nyare version av SQL Server på Windows. Flytta sedan den till SQL Server on Linux, med backup/återställning, eller koppla bort/ansluta.
Linux stöder
ADMINISTER BULK OPERATIONSför närvarande inte användarbehörighet.Du kan inte återställa Transparent Data Encryption (TDE)-komprimerade backuper gjorda med SQL Server 2019 (15.x) CU 16 och senare versioner till tidigare CU-versioner av SQL Server 2019 (15.x). Mer information finns i FIX: Fel 3241 inträffar när RESTORE LOG eller RESTOREDATABASE körs.
Du kan fortfarande använda SQL Server 2019 (15.x) CU 16 och senare versioner för att återställa TDE-komprimerade säkerhetskopior gjorda med tidigare CU-versioner av SQL Server 2019 (15.x).
När du installerar SQL Server 2022 (16.x) på Ubuntu 22.04 kan följande felmeddelande visas:
Failed to start Microsoft SQL Server Database Engine. Om du granskar felloggen ser du en felaktig sökväg för systemdatabaserna.Du kan undvika det här problemet genom att starta instansen i enanvändarläge och använda
ALTER DATABASE ... MODIFY FILEför att flytta den konfigurerade platsen för systemdatabaserna till standardplatsen/var/opt/mssql/data. Efter att du gjort denna ändring, starta om tjänsten.
Nätverk
Funktioner som involverar utgående TCP-anslutningar från sqlservr processen, såsom länkade servrar, PolyBase eller tillgänglighetsgrupper, kanske inte fungerar om båda följande villkor gäller:
Målservern anges som ett värdnamn och inte en IP-adress.
Källinstansen har IPv6 inaktiverats i kerneln. För att kontrollera om systemet har IPv6 aktiverat i kerneln måste alla följande tester godkännas:
-
cat /proc/cmdlineskriver ut start-cmdline för den aktuella kerneln. Utdata får inte innehållaipv6.disable=1. - Katalogen
/proc/sys/net/ipv6/måste finnas. - Ett C-program som anropar
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)borde lyckas. Syscallet måste returnera anfd != -1och får inte misslyckas medEAFNOSUPPORT.
-
Det exakta felet beror på funktionen. För länkade servrar visas ett inloggningsfel med tidsgräns. För tillgänglighetsgrupper ALTER AVAILABILITY GROUP JOIN fallerar DDL på sekundären efter fem minuter med ett download configuration timeout fel.
Du kan undvika det här problemet genom att göra något av följande alternativ:
Använd IP-adresser i stället för värdnamn för att ange målet för TCP-anslutningen.
Aktivera IPv6 i kerneln genom att ta bort
ipv6.disable=1från startkommandoraden. Metoden beror på Linux-distributionen och startladdaren, till exempel grub. Om du vill att IPv6 ska inaktiveras kan du fortfarande inaktivera det genom att angenet.ipv6.conf.all.disable_ipv6 = 1i konfigurationensysctl(till exempel/etc/sysctl.conf). Även om den här inställningen hindrar systemets nätverkskort från att hämta en IPv6-adress kansqlservrfunktioner fungera.
TLS 1.3 stöds inte på SQL Server 2022
Gäller endast SQL Server 2022 (16.x).
TLS 1.3 stöds på SQL Server 2022 (16.x) för Windows, men du måste använda TLS 1.2 på Linux.
Anmärkning
TLS 1.3 stöds för SQL Server 2025 (17.x) på Ubuntu 22.04, Ubuntu 24.04, RHEL 9 och RHEL 10. TLS 1.3 är aktiverat som standard.
NFS (Network File System)
Observera följande supportkrav om du använder NFS-fjärrresurser (Network File System) i produktion:
Använd NFS version 4.2 eller senare versioner. Äldre versioner av NFS stöder inte nödvändiga funktioner, till exempel
fallocateoch gles filskapande, som är gemensamma för moderna filsystem.Endast
/var/opt/mssqlkatalogerna stöds på NFS-monteringen. Andra filer, till exempel SQL Server systembinärfiler, stöds inte.Se till att NFS-klienter använder alternativet
nolocknär de monterar fjärrresursen.
IPv6-anslutning med Microsoft Entra-autentisering
Om servern eller containern är aktiverad för IPv6 kontrollerar du att IPv6-adresser kan nås och dirigeras. Om IPv6 inte är helt konfigurerat kan autentiseringsbegäranden till Microsoft Entra ID misslyckas på grund av Oåtkomliga IPv6-slutpunkter.
Om du vill kontrollera IPv6 DNS-matchningsbeteendet på SQL Server 2022 CU 19 och senare versioner anger du network.ipv6dnsrecordslimit alternativet i mssql-conf. Mer information finns i network.ipv6dnsrecordslimit.
Lokalisering
Om ditt språk inte är engelska (
en_us) under installationen måste du använda UTF-8-kodning i bash-sessionen/terminalen. Om du använder ASCII-kodning kan du se ett fel som liknar följande utdata:UnicodeEncodeError: 'ascii' codec kan inte koda tecken u'\xf1' i position 8: ordningstal inte inom intervallet(128)
Om du inte kan använda UTF-8-kodning, kör setup med miljövariabeln
MSSQL_LCIDför att specificera ditt språkval.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupNär du kör
mssql-conf setupoch utför en icke-engelsk installation av SQL Server kan du se felaktiga utökade tecken efter den lokaliserade texten, "Configuring SQL Server... ". Eller för icke-latinska installationer kanske meningen saknas helt. Den mening som saknas bör visa följande lokaliserade sträng:Licens-PID:en har bearbetats framgångsrikt. Den nya utgåvan är [<Name> utgåva].
Denna sträng visas endast för informationsändamål och påverkar inte installationen av SQL Server.
Full-Text sök
Alla filter är inte tillgängliga med den här versionen, inklusive filter för Microsoft Office dokument. En lista över filter som stöds finns i Installera SQL Server Full-Text Search i Linux.
služba SSIS (SSIS)
Det mssql-server-is paketet stöds inte på SUSE Linux Enterprise Server (SLES). Paketet stöds på Ubuntu och Red Hat Enterprise Linux (RHEL).
Integration Services-paket kan använda ODBC-anslutningar i Linux. Denna funktionalitet fungerar med SQL Server- och MySQL ODBC-drivrutinerna, och bör även fungera med alla Unicode ODBC-drivrutiner som följer ODBC-specifikationen. Vid designtillfället, tillhandahåll antingen ett DSN eller en reťazec pripojenia för att ansluta till ODBC-datan; du kan också använda Windows authentication. Mer information finns i blogginlägget om ODBC-support på Linux.
Denna version stöder inte följande funktioner när du kör SSIS-paket på Linux:
- Katalogdatabas för Integration Services
- Schemalagd paketkörning av SQL Server Agent
- Windows-autentisering
- Komponenter från tredje part
- Ändra datainsamling (CDC)
- Utskalning av integrationstjänster
- Azure funktionspaket för SSIS
- Stöd för Hadoop och HDFS
- Microsoft-anslutningsprogram för SAP BW
För en lista över inbyggda SSIS-komponenter med begränsat eller inget stöd, se Funktionsstöd och överväganden för služba SSIS (SSIS) på Linux.
Mer information om SSIS i Linux finns i följande artiklar:
- blogginlägg om SSIS-stöd för Linux.
- Installera služba SSIS (SSIS) i Linux
- Extrahera, transformera och läsa in data i Linux med SSIS
SQL Server Management Studio (SSMS)
Följande begränsningar gäller för SQL Server Management Studio för Windows som är anslutna till SQL Server on Linux.
Underhållsplaner stöds inte.
Management Data Warehouse (MDW) och datainsamlaren i SQL Server Management Studio stöds inte.
SQL Server Management Studio gränssnittskomponenter som har Windows-autentisering eller Windows händelseloggalternativ fungerar inte med Linux. Du kan fortfarande använda dessa funktioner med andra alternativ, till exempel SQL Server inloggningar.
Du kan inte ändra antalet loggfiler som ska behållas.
Hög tillgänglighet och haveriberedskap
Gäller endast SQL Server 2022 (16.x).
När du kör SQL Server 2022 (16.x) CU 16 och tidigare versioner, på RHEL 9 som ett begränsat program med SELinux aktiverat, kanske Pacemaker-klustring inte fungerar som förväntat. Du måste installera SQL Server 2022 (16.x) som en obegränsad applikation med SELinux aktiverat för att använda Pacemakers klustringsfunktioner. Det här problemet löses i SQL Server 2022 (16.x) CU 17.
Maskininlärningstjänster
Gäller endast SQL Server 2022 (16.x).
För SQL Server 2022 (16.x)-paket för RHEL 9 och Ubuntu 22.04, tänk på dessa cgroup-v1 förutsättningar innan du installerar strojové učenie Services.
Som ett förkrav, aktivera
cgroup-v1som dokumenterat i Using cgroupfs to manually manage cgroups Red Hat Enterprise Linux 9 från Red Hat.Följ sedan anvisningarna för att installera SQL strojové učenie Services som dokumenterat.
Inaktivera isolering av nätverksnamnområde.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Starta om
mssql-launchpaddtjänsten för att ändringarna ska börja gälla.sudo systemctl restart mssql-launchpadd
Kända problem i SQL Server 2025
Följande problem påverkar SQL Server 2025 (17.x).
SQL Server on Linux kan inte starta på datorer med hybrid-CPU-arkitektur
Issue: SQL Server instanser i Linux kan misslyckas med att starta om datorn använder en Intel 12:e generationens eller senare hybridarkitekturprocessor och värdoperativsystemet är Linux.
Du kan se ett felmeddelande som liknar följande meddelande:
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Om du vill använda ett Linux-värdoperativsystem kan du kringgå problemet genom att inaktivera effektivitetskärnor (E-kärnor) i din BIOS. Om du använder containrar eller en hypervisor som Hyper-V på Windows (inklusive WSL), påverkar inte problemet dig.
Lokala ONNX-modeller stöds inte på Linux-operativsystem
CREATE EXTERNAL MODEL lokala ONNX-modeller som finns direkt på SQL Server är för närvarande inte tillgängliga för Linux SQL Server 2025 (17.x).