Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In de volgende secties worden bekende problemen met SQL Server on Linux beschreven.
Algemeen
De volgende tabel bevat de meest voorkomende problemen met SQL Server on Linux.
| Probleem | Resolutie |
|---|---|
| De lengte van de hostnaam waarop SQL Server is geïnstalleerd moet 15 tekens of korter zijn. | Verander de naam naar /etc/hostname een waarde van 15 tekens lang of korter. |
| Door de systeemtijd handmatig achteruit te zetten, stopt SQL Server met het bijwerken van de interne systeemtijd binnen de Database Engine. | Start SQL Server opnieuw op. |
| Alleen installaties van één exemplaar worden ondersteund. | Om meer dan één instantie op een gegeven host te hebben, overweeg dan virtuele machines of Linux-containers. |
| SQL Server Configuration Manager kan geen verbinding maken met SQL Server on Linux. | Configuration Manager wordt niet ondersteund in Linux. Gebruik mssql-conf in plaats daarvan om SQL Server on Linux te beheren. |
De standaardtaal van het sa-account is Engels. |
Wijzig de taal van het sa-account met de ALTER LOGIN-verklaring. |
De OLE DB-provider registreert de volgende waarschuwing: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. |
Er is geen actie vereist. De OLE DB-provider gebruikt een SHA256-handtekening. De SQL Server Database Engine valideert de ondertekende .dll niet correct. |
Het resetwachtwoord-commando in mssql-conf geeft de volgende foutmelding:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
De foutmelding is een vals negatief. Het resetten van het wachtwoord slaagt en je kunt het nieuwe wachtwoord blijven gebruiken. Van toepassing op: SQL Server 2022 (16.x) containerimages alleen. |
Databanken
Je kunt de
masterdatabase niet verplaatsen met hetmssql-confnutsbedrijf. Je kunt andere systeemdatabases verplaatsen metmssql-conf.Wanneer u een database herstelt waarvan een back-up is gemaakt op SQL Server op Windows, moet u de component
WITH MOVEgebruiken in de instructie Transact-SQL. Zie voor meer informatie Migreer een SQL Server-database van Windows naar Linux met behulp van backup en herstel.Bepaalde algoritmen (coderingssuites) voor TLS (Transport Layer Security) werken niet goed met SQL Server on Linux. Dit gedrag veroorzaakt verbindingsfouten wanneer je probeert verbinding te maken met SQL Server, en problemen met het tot stand brengen van verbindingen tussen replica's in groepen met hoge beschikbaarheid.
Om dit probleem op te lossen, wijzig je het
mssql.confconfiguratiescript voor SQL Server on Linux om problematische cipher-suites uit te schakelen:Voeg de volgende sectie toe aan
/var/opt/mssql/mssql.conf. Het uitroepteken (!) ontkent de expressie. Deze negatie vertelt OpenSSL om de daaropvolgende cijfersuite niet te gebruiken.[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-SHAStart SQL Server opnieuw met de volgende opdracht.
sudo systemctl restart mssql-server
Je kunt SQL Server 2014 (12.x) databases niet herstellen op Windows die In-Memory OLTP gebruiken om te SQL Server on Linux. Als uw SQL Server 2014 -database (12.x) gebruikmaakt van In-Memory OLTP, moet u eerst de databases upgraden naar een nieuwere versie van SQL Server op Windows. Verplaats het vervolgens naar SQL Server on Linux, met back-up/herstel, of koppel/koppel.
Linux ondersteunt momenteel geen
ADMINISTER BULK OPERATIONSgebruikersrechten.Je kunt geen Transparent Data Encryption (TDE)-gecomprimeerde back-ups die zijn gemaakt met SQL Server 2019 (15.x) CU 16 en latere versies herstellen naar eerdere CU-versies van SQL Server 2019 (15.x). Zie voor meer informatie FIX: Fout 3241 treedt op tijdens het uitvoeren van RESTORE LOG of RESTOREDATABASE.
Je kunt nog steeds SQL Server 2019 (15.x) CU 16 en latere versies gebruiken om TDE-gecomprimeerde back-ups te herstellen die zijn gemaakt met eerdere CU-versies van SQL Server 2019 (15.x).
Wanneer u SQL Server 2022 (16.x) installeert op Ubuntu 22.04, ziet u mogelijk het volgende foutbericht:
Failed to start Microsoft SQL Server Database Engine. Als u het foutenlogboek bekijkt, ziet u een onjuist pad voor de systeemdatabases.Als u dit probleem wilt omzeilen, start u het exemplaar in de modus voor één gebruiker en gebruikt u
ALTER DATABASE ... MODIFY FILEom de geconfigureerde locatie van de systeemdatabases te verplaatsen naar de standaardlocatie/var/opt/mssql/data. Nadat je deze wijziging hebt doorgevoerd, herstart je de dienst.
Netwerk
Functies die uitgaande TCP-verbindingen van het sqlservr proces omvatten, zoals gekoppelde servers, PolyBase of beschikbaarheidsgroepen, werken mogelijk niet als beide volgende voorwaarden van toepassing zijn:
De doelserver wordt opgegeven als hostnaam en niet als IP-adres.
Het bronexemplaar heeft IPv6 uitgeschakeld in de kernel. Als u wilt controleren of IPv6 is ingeschakeld voor uw systeem in de kernel, moeten alle volgende tests worden uitgevoerd:
-
cat /proc/cmdlinedrukt de opstart-cmdline van de huidige kernel af. De uitvoer mag geenipv6.disable=1bevatten. - De
/proc/sys/net/ipv6/map moet bestaan. - Een C-programma dat aanroept
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)zou moeten slagen. De syscall moet een retournerenfd != -1en mag niet falen metEAFNOSUPPORT.
-
De exacte fout is afhankelijk van de functie. Voor gekoppelde servers ziet u een time-outfout voor aanmelden. Voor beschikbaarheidsgroepen faalt de ALTER AVAILABILITY GROUP JOIN DDL op de secundaire na vijf minuten door een download configuration timeout foutmelding.
U kunt dit probleem omzeilen door een van de volgende opties uit te voeren:
Gebruik IP-adressen in plaats van hostnamen om het doel van de TCP-verbinding op te geven.
Schakel IPv6 in de kernel in door
ipv6.disable=1te verwijderen van de opdrachtregel voor opstarten. De methode is afhankelijk van de Linux-distributie en de bootloader, zoals grub. Als u wilt dat IPv6 wordt uitgeschakeld, kunt u deze nog steeds uitschakelen doornet.ipv6.conf.all.disable_ipv6 = 1in te stellen in desysctl-configuratie (bijvoorbeeld/etc/sysctl.conf). Hoewel deze instelling voorkomt dat de netwerkadapter van het systeem een IPv6-adres krijgt, kunnen desqlservrfuncties werken.
TLS 1.3 wordt niet ondersteund op SQL Server 2022
Alleen van toepassing op: SQL Server 2022 (16.x).
Hoewel TLS 1.3 wordt ondersteund op SQL Server 2022 (16.x) voor Windows, moet u TLS 1.2 op Linux gebruiken.
Opmerking
TLS 1.3 wordt ondersteund voor SQL Server 2025 (17.x) op Ubuntu 22.04, Ubuntu 24.04, RHEL 9 en RHEL 10. TLS 1.3 is standaard ingeschakeld.
Netwerk bestandssysteem (NFS)
Als u externe NFS-shares (Network File System) in productie gebruikt, moet u rekening houden met de volgende ondersteuningsvereisten:
Gebruik NFS versie 4.2 of nieuwere versies. Oudere versies van NFS bieden geen ondersteuning voor vereiste functies, zoals
fallocateen het maken van dunne bestanden, die veel voorkomen in moderne bestandssystemen.Alleen de
/var/opt/mssqldirectories worden ondersteund op de NFS-mount. Andere bestanden, zoals de SQL Server binaire bestanden van het systeem, worden niet ondersteund.Zorg ervoor dat NFS-clients de optie
nolockgebruiken bij het koppelen van de externe share.
IPv6-connectiviteit met Microsoft Entra-verificatie
Als uw server of container is ingeschakeld voor IPv6, moet u ervoor zorgen dat IPv6-adressen bereikbaar en routeerbaar zijn. Als IPv6 niet volledig is geconfigureerd, kunnen verificatieaanvragen voor Microsoft Entra ID mislukken vanwege onbereikbare IPv6-eindpunten.
Als u het gedrag van IPv6 DNS-omzetting op SQL Server 2022 CU 19 en latere versies wilt beheren, stelt u de network.ipv6dnsrecordslimit optie inmssql-conf. Zie network.ipv6dnsrecordslimit voor meer informatie.
Lokalisatie
Als uw landinstelling niet Engels (
en_us) is tijdens de installatie, moet u UTF-8-codering gebruiken in uw bash-sessie/terminal. Als u ASCII-codering gebruikt, ziet u mogelijk een fout die vergelijkbaar is met de volgende uitvoer:UnicodeEncodeError: "ascii" codec kan karakter u'\xf1' niet coderen op positie 8: ordinaal niet in bereik(128)
Als je geen UTF-8-codering kunt gebruiken, voer dan setup uit met de
MSSQL_LCIDenvironment-variabele om je taalkeuze te specificeren.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupWanneer je een niet-Engelse installatie van SQL Server uitvoert
mssql-conf setupen uitvoert, kun je na de gelokaliseerde tekst verkeerde uitgebreide tekens zien, "Configuring SQL Server... ". Of voor niet-Latijnse installaties ontbreekt de zin mogelijk volledig. In de ontbrekende zin moet de volgende gelokaliseerde tekenreeks worden weergegeven:De licentie-PID is succesvol verwerkt. De nieuwe editie is [<Name> editie].
Deze string verschijnt alleen voor informatiedoeleinden en beïnvloedt de installatie van SQL Server niet.
Full-Text Zoeken
Niet alle filters zijn beschikbaar in deze release, inclusief filters voor Microsoft Office documenten. Zie Install SQL Server Full-Text Search on Linux voor een lijst met ondersteunde filters.
SQL Server Integration Services (SSIS)
Het mssql-server-is-pakket wordt niet ondersteund op SUSE Linux Enterprise Server (SLES). Het pakket wordt ondersteund op Ubuntu en Red Hat Enterprise Linux (RHEL).
Integration Services-pakketten kunnen ODBC-verbindingen gebruiken in Linux. Deze functionaliteit werkt met de SQL Server- en MySQL ODBC-drivers, en zou ook moeten werken met elke Unicode ODBC-driver die de ODBC-specificatie respecteert. Geef bij het ontwerpen een DSN of een verbindingsreeks om verbinding te maken met de ODBC-gegevens; je kunt ook Windows authentication gebruiken. Zie het blogbericht met de aankondiging van ODBC-ondersteuning op Linuxvoor meer informatie.
Deze release ondersteunt de volgende functies niet wanneer je SSIS-pakketten op Linux draait:
- Integration Services Catalog-database
- Geplande pakketuitvoering door SQL Server Agent
- Windows Verificatie
- Onderdelen van derden
- Wijzigingen in gegevens vastleggen (CDC)
- Integration Services uitschalen
- Azure Feature Pack voor SSIS
- Hadoop- en HDFS-ondersteuning
- Microsoft-connector voor SAP BW
Voor een lijst van ingebouwde SSIS-componenten met beperkte of geen ondersteuning, zie Feature support and considerations for SQL Server Integration Services (SSIS) op Linux.
Zie de volgende artikelen voor meer informatie over SSIS op Linux:
- blogbericht waarin SSIS-ondersteuning voor Linux-wordt aangekondigd.
- Install SQL Server Integration Services (SSIS) in Linux
- Gegevens extraheren, transformeren en laden in Linux met SSIS-
SQL Server Management Studio (SSMS)
De volgende beperkingen gelden voor SQL Server Management Studio op Windows verbonden met SQL Server on Linux.
Onderhoudsplannen worden niet ondersteund.
Beheer Data Warehouse (MDW) en de gegevensverzamelaar in SQL Server Management Studio worden niet ondersteund.
SQL Server Management Studio UI-onderdelen met Windows verificatie of Windows opties voor gebeurtenislogboeken werken niet met Linux. U kunt deze functies nog steeds gebruiken met andere opties, zoals SQL Server aanmeldingen.
Je kunt het aantal logbestanden dat je moet bewaren niet aanpassen.
Hoge beschikbaarheid en herstel na noodgevallen
Alleen van toepassing op: SQL Server 2022 (16.x).
Wanneer u SQL Server 2022 (16.x) CU 16 en eerdere versies uitvoert, werkt Pacemaker-clustering mogelijk niet zoals verwacht op RHEL 9 als een beperkte toepassing waarvoor SELinux is ingeschakeld. Je moet SQL Server 2022 (16.x) installeren als een onbegrensde applicatie met SELinux ingeschakeld om Pacemaker-clusteringmogelijkheden te gebruiken. Dit probleem is opgelost in SQL Server 2022 (16.x) CU 17.
Machine Learning Diensten
Alleen van toepassing op: SQL Server 2022 (16.x).
Voor SQL Server 2022 (16.x) pakketten voor RHEL 9 en Ubuntu 22.04, houd deze vereisten in overweging cgroup-v1 voordat je Machine Learning Services installeert.
Als voorwaarde moet je inschakelen
cgroup-v1zoals gedocumenteerd in Using cgroupfs to manually manage cgroups Red Hat Enterprise Linux 9 vanuit Red Hat.Volg vervolgens de instructies voor het installeren van SQL Machine Learning Services zoals gedocumenteerd.
Schakel isolatie van netwerknaamruimten uit.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Start
mssql-launchpaddservice opnieuw om deze wijzigingen door te voeren.sudo systemctl restart mssql-launchpadd
Bekende problemen in SQL Server 2025
De volgende problemen zijn van invloed op SQL Server 2025 (17.x).
SQL Server on Linux kan niet worden gestart op machines met hybride CPU-architectuur
Issue: SQL Server exemplaren op Linux kunnen niet worden gestart als de computer gebruikmaakt van een CPU van de Intel 12e generatie of hoger van de hybride architectuur en het hostbesturingssysteem Linux is.
Mogelijk ziet u een foutmelding die lijkt op de volgende uitvoer:
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Als u een Linux-hostbesturingssysteem wilt gebruiken, kunt u het probleem omzeilen door efficiëntiekernen (E-cores) uit te schakelen in uw BIOS. Als je containers gebruikt, of een hypervisor zoals Hyper-V op Windows (inclusief WSL), heeft het probleem geen invloed op jou.
Lokale ONNX-modellen worden niet ondersteund op Linux-besturingssystemen
CREATE EXTERNAL MODEL lokale ONNX-modellen die rechtstreeks op de SQL Server worden gehost, zijn momenteel niet beschikbaar voor Linux op SQL Server 2025 (17.x).