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 installerat måste vara högst 15 tecken. | Ändra namnet i /etc/hostname till ett värde på 15 tecken eller mindre. |
| Om du ställer in systemtiden bakåt i tiden manuellt slutar SQL Server uppdatera den interna systemtiden inom Database Engine. | Starta om SQL Server. |
| Bara enskilda instansinstallationer stöds. | Om du vill ha fler än en instans på en viss värd kan du överväga att använda virtuella datorer eller Linux-containrar. |
| SQL Server Configuration Manager kan inte ansluta till SQL Server on Linux. | Ingen. |
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-providern är signerad med SHA256. SQL Server Database Engine verifierar inte den signerade .dll korrekt. |
Kommandot Återställ lösenord med mssql-conf genererar 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 lyckades och du kan fortsätta använda det nya lösenordet. Gäller för: Endast SQL Server 2022 (16.x) containeravbildningar. |
Databaser
Det går inte att flytta
master-databasen med verktyget mssql-conf. Andra systemdatabaser kan flyttas med mssql-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 resulterar i anslutningsfel vid försök att ansluta till SQL Server och problem med att upprätta anslutningar mellan repliker i grupper med hög tillgänglighet.
Lös problemet genom att ändra konfigurationsskriptet
mssql.confför SQL Server on Linux för att inaktivera problematiska chiffersviter genom att följa dessa steg:Lägg till följande avsnitt i
/var/opt/mssql/mssql.conf. Utropstecknet (!) negerar uttrycket. Detta talar om för OpenSSL att inte använda chiffersviten 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
SQL Server 2014-databaser (12.x) på Windows som använder In-Memory OLTP kan inte återställas till 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. Sedan kan du flytta den till SQL Server on Linux, med säkerhetskopiering/återställning eller koppla från/koppla.
Användarbehörighet
ADMINISTER BULK OPERATIONSstöds inte i Linux just nu.TDE-komprimerade säkerhetskopior som görs med SQL Server 2019 (15.x) CU 16 och senare versioner kan inte återställas till tidigare CU-versioner av SQL Server 2019 (15.x). För mer information, se FIX: Fel 3241 inträffar när du kör RESTORE LOG eller RESTORE DATABASE.
Transparent Data Encryption (TDE)-komprimerade säkerhetskopior som görs med tidigare CU-versioner av SQL Server 2019 (15.x) kan fortfarande återställas med hjälp av SQL Server 2019 (15.x) CU 16 och senare versioner.
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. Starta om tjänsten när du har gjort den här ändringen.
Nätverk
Funktioner som omfattar utgående TCP-anslutningar från sqlservr processen, till exempel länkade servrar, PolyBase eller tillgänglighetsgrupper, kanske inte fungerar om båda följande villkor uppfylls:
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)ska lyckas – systemanropet måste returnera enfd != -1och inte misslyckas medEAFNOSUPPORT.
-
Det exakta felet beror på funktionen. För länkade servrar visas ett inloggningsfel med tidsgräns. För tillgänglighetsgrupper misslyckas ALTER AVAILABILITY GROUP JOIN DDL på den sekundära datorn 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
Applies to: SQL Server 2022 (endast 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.Lokalisera endast
/var/opt/mssqlmapparna på NFS-anslutningen. 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.
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 du konfigurationen med hjälp av
MSSQL_LCIDmiljövariabeln för att ange 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 felaktiga utökade tecken visas efter den lokaliserade texten" Konfigurera 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].
Den här strängen används endast för informationsändamål och påverkar inte installationens framgång med SQL Server på något sätt.
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.
SQL Server Integration Services (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. Den här funktionen testades med SQL Server och MySQL ODBC-drivrutinerna, men förväntas också fungera med alla Unicode ODBC-drivrutiner som observerar ODBC-specifikationen. Vid designtillfället kan du ange antingen ett DSN eller en connection string för att ansluta till ODBC-data. Du kan också använda Windows authentication. Mer information finns i blogginlägget om ODBC-support på Linux.
Följande funktioner stöds inte i den här versionen 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 Connector för SAP BW
En lista över inbyggda SSIS-komponenter som för närvarande inte stöds eller som stöds med begränsningar finns i Begränsningar och kända problem för SSIS på Linux.
Mer information om SSIS i Linux finns i följande artiklar:
- blogginlägg om SSIS-stöd för Linux.
- Installera SQL Server Integration Services (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.
Det går inte att ändra antalet loggfiler som ska behållas.
Hög tillgänglighet och haveriberedskap
Gäller för: 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 oinskränkt applikation med SELinux aktiverat för att kunna använda Pacemaker-klusterfunktioner. Det här problemet löses i SQL Server 2022 (16.x) CU 17.
Maskininlärningstjänster
Gäller för: Endast SQL Server 2022 (16.x).
För SQL Server 2022-paket (16.x) för RHEL 9 och Ubuntu 22.04 finns det vissa förutsättningar att ta hänsyn till med cgroup-v1 innan du installerar Machine Learning Services.
Som en förutsättning måste
cgroup-v1aktiveras enligt Använda cgroupfs för att manuellt hantera cgroups Red Hat Enterprise Linux 9 från Red Hat.Följ sedan anvisningarna för att installera SQL Machine Learning 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 ett hypervisor-objekt som Hyper-V på Windows (inklusive WSL) påverkas du inte.
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).