SQL Server on Linux: Bekende problemen

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 master database niet verplaatsen met het mssql-conf nutsbedrijf. Je kunt andere systeemdatabases verplaatsen met mssql-conf.

  • Wanneer u een database herstelt waarvan een back-up is gemaakt op SQL Server op Windows, moet u de component WITH MOVE gebruiken 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.conf configuratiescript voor SQL Server on Linux om problematische cipher-suites uit te schakelen:

    1. 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-SHA
      
    2. Start 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 OPERATIONS gebruikersrechten.

  • 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 FILE om 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/cmdline drukt de opstart-cmdline van de huidige kernel af. De uitvoer mag geen ipv6.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 retourneren fd != -1 en mag niet falen met EAFNOSUPPORT.

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=1 te 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 door net.ipv6.conf.all.disable_ipv6 = 1 in te stellen in de sysctl-configuratie (bijvoorbeeld /etc/sysctl.conf). Hoewel deze instelling voorkomt dat de netwerkadapter van het systeem een IPv6-adres krijgt, kunnen de sqlservr functies 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 fallocate en het maken van dunne bestanden, die veel voorkomen in moderne bestandssystemen.

  • Alleen de /var/opt/mssql directories 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 nolock gebruiken 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_LCID environment-variabele om je taalkeuze te specificeren.

    sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
    
  • Wanneer je een niet-Engelse installatie van SQL Server uitvoert mssql-conf setup en 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.

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:

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.

  1. Als voorwaarde moet je inschakelen cgroup-v1 zoals gedocumenteerd in Using cgroupfs to manually manage cgroups Red Hat Enterprise Linux 9 vanuit Red Hat.

  2. Volg vervolgens de instructies voor het installeren van SQL Machine Learning Services zoals gedocumenteerd.

  3. Schakel isolatie van netwerknaamruimten uit.

    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. Start mssql-launchpadd service 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).