gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
In de volgende secties worden bekende problemen met SQL Server in Linux beschreven.
De volgende tabel bevat de meest voorkomende problemen met SQL Server in Linux.
Probleem | Resolutie |
---|---|
De lengte van de hostnaam waarop SQL Server is geïnstalleerd, moet 15 tekens of minder zijn. | Wijzig de naam in /etc/hostname naar een naam van 15 tekens of minder. |
Handmatig instellen van de systeemtijd terug in tijd zorgt ervoor dat SQL Server stopt met het bijwerken van de interne systeemtijd binnen de database-engine. | Start SQL Server opnieuw op. |
Alleen installaties van één exemplaar worden ondersteund. | Als u meer dan één exemplaar op een bepaalde host wilt hebben, kunt u overwegen om virtuele machines te gebruiken of Linux-containers. |
SQL Server Configuration Manager kan geen verbinding maken met SQL Server in Linux. | Geen. |
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 is ondertekend met SHA256. De SQL Server Database Engine valideert de ondertekende .dll niet correct. |
De opdracht Wachtwoord opnieuw instellen met mssql-conf genereert de volgende fout:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
De foutmelding is een vals negatief. Het opnieuw instellen van het wachtwoord is voltooid en u kunt het nieuwe wachtwoord blijven gebruiken. is alleen van toepassing op: container-afbeeldingen van SQL Server 2022 (16.x). |
De master
-database kan niet worden verplaatst met het hulpprogramma mssql-conf. Andere systeemdatabases kunnen worden verplaatst met mssql-conf.
Wanneer u een database herstelt waarvan een back-up is gemaakt op SQL Server in Windows, moet u de WITH MOVE
component in de Transact-SQL-instructie gebruiken. Zie Een SQL Server-database migreren van Windows naar Linux met behulp van back-up en herstelvoor meer informatie.
Bepaalde algoritmen (coderingssuites) voor TLS (Transport Layer Security) werken niet goed met SQL Server in Linux. Dit resulteert in verbindingsfouten bij het maken van verbinding met SQL Server en problemen met het tot stand brengen van verbindingen tussen replica's in groepen met hoge beschikbaarheid.
Als u dit probleem wilt oplossen, wijzigt u het mssql.conf
configuratiescript voor SQL Server in Linux om problematische coderingssuites uit te schakelen door de volgende stappen uit te voeren:
Voeg de volgende sectie toe aan /var/opt/mssql/mssql.conf
. Het uitroepteken (!
) ontkent de expressie. Dit vertelt OpenSSL dat de volgende coderingssuite niet moet worden gebruikt.
[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
Start SQL Server opnieuw met de volgende opdracht.
sudo systemctl restart mssql-server
SQL Server 2014-databases (12.x) in Windows die gebruikmaken van In-Memory OLTP kunnen niet worden hersteld naar SQL Server op 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 in Windows. Vervolgens kunt u deze verplaatsen naar SQL Server op Linux, met backup/restore of detach/attach.
Gebruikersmachtiging ADMINISTER BULK OPERATIONS
wordt momenteel niet ondersteund op Linux.
Met TDE gecomprimeerde back-ups die zijn gemaakt met SQL Server 2019 (15.x) CU 16 en latere versies, kunnen niet worden hersteld naar eerdere CU-versies van SQL Server 2019 (15.x). Zie voor meer informatie FIX: Fout 3241 vindt plaats tijdens het uitvoeren van HERSTEL VAN LOGBOEK of HERSTEL VAN DATABASE.
Met TDE (Transparent Data Encryption) gecomprimeerde back-ups die zijn gemaakt met eerdere CU-versies van SQL Server 2019 (15.x) kunnen nog steeds worden hersteld met behulp van SQL Server 2019 (15.x) CU 16 en latere versies.
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 u deze wijziging hebt aangebracht, start u de service opnieuw op.
Functies die betrekking hebben op uitgaande TCP-verbindingen van het sqlservr
-proces, zoals gekoppelde servers, PolyBase of beschikbaarheidsgroepen, werken mogelijk niet als aan beide voorwaarden wordt voldaan:
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=1
bevatten./proc/sys/net/ipv6/
map moet bestaan.socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)
aanroept, moet slagen: de syscall moet een fd != -1
retourneren en niet mislukken met EAFNOSUPPORT
.De exacte fout is afhankelijk van de functie. Voor gekoppelde servers ziet u een time-outfout voor aanmelden. Voor beschikbaarheidsgroepen mislukt de ALTER AVAILABILITY GROUP JOIN
DDL op de secundaire server na vijf minuten met een download configuration timeout
fout.
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.
is 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.
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.
Zoek alleen de /var/opt/mssql
directory's op de NFS-mount. Andere bestanden, zoals de binaire bestanden van het SQL Server-systeem, worden niet ondersteund.
Zorg ervoor dat NFS-clients de optie nolock
gebruiken bij het koppelen van de externe share.
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 u UTF-8-codering niet kunt gebruiken, voert u setup uit met behulp van de omgevingsvariabele MSSQL_LCID
om uw taalkeuze op te geven.
sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
Wanneer u mssql-conf setup
uitvoert en een niet-Engelse installatie van SQL Server uitvoert, kunnen onjuiste uitgebreide tekens worden weergegeven na de gelokaliseerde tekst 'SQL Server configureren...'. 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 tekenreeks is alleen bedoeld voor informatiedoeleinden, heeft geen invloed op de geslaagde installatie van SQL Server.
Niet alle filters zijn beschikbaar in deze release, inclusief filters voor Microsoft Office-documenten. Zie SQL Server installeren Full-Text Zoeken op Linuxvoor een lijst met ondersteunde filters.
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 is getest met de SQL Server en de MySQL ODBC-stuurprogramma's, maar werkt naar verwachting ook met elk Unicode ODBC-stuurprogramma dat de ODBC-specificatie bekijkt. Tijdens het ontwerp kunt u een DSN of een verbindingsreeks opgeven om verbinding te maken met de ODBC-gegevens; u kunt ook Windows-verificatie gebruiken. Zie het blogbericht met de aankondiging van ODBC-ondersteuning op Linuxvoor meer informatie.
De volgende functies worden niet ondersteund in deze release wanneer u SSIS-pakketten uitvoert op Linux:
Zie Beperkingen en bekende problemen voor SSIS op Linux-voor een lijst met ingebouwde SSIS-onderdelen die momenteel niet worden ondersteund of die worden ondersteund met beperkingen.
Zie de volgende artikelen voor meer informatie over SSIS op Linux:
De volgende beperkingen gelden voor SQL Server Management Studio in Windows die is verbonden met SQL Server in Linux.
Onderhoudsplannen worden niet ondersteund.
Beheerdatawarehouse (MDW) en de gegevensverzamelaar in SQL Server Management Studio worden niet ondersteund.
SQL Server Management Studio UI-onderdelen met Opties voor Windows-verificatie of Windows-gebeurtenislogboeken werken niet met Linux. U kunt deze functies nog steeds gebruiken met andere opties, zoals SQL Server-aanmeldingen.
Het aantal logboekbestanden dat moet worden bewaard, kan niet worden gewijzigd.
is 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. U moet SQL Server 2022 (16.x) installeren als een niet-gedefinieerde toepassing waarvoor SELinux is ingeschakeld, om gebruik te kunnen maken van pacemaker-clusteringmogelijkheden. Dit probleem is opgelost in SQL Server 2022 (16.x) CU 17.
is alleen van toepassing op: SQL Server 2022 (16.x).
Voor SQL Server 2022-pakketten (16.x) voor RHEL 9 en Ubuntu 22.04 moet rekening worden gehouden met cgroup-v1
voordat u Machine Learning Services installeert.
Als vereiste moet cgroup-v1
worden ingeschakeld volgens Cgroupfs gebruiken om cgroups Red Hat Enterprise Linux 9 handmatig te beheren vanuit Red Hat.
Volg vervolgens de instructies om SQL Machine Learning Services te installeren zoals beschreven.
Schakel isolatie van netwerknaamruimten uit.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
Start mssql-launchpadd
service opnieuw om deze wijzigingen door te voeren.
sudo systemctl restart mssql-launchpadd
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Leertraject
SQL Server voor Linux - Training
SQL Server kan nu worden uitgevoerd op het besturingssysteem van uw keuze. In dit leertraject ontdekt u de grondbeginselen van SQL Server in Linux voordat u ontdekt hoe u SQL Server uitvoert op Linux-containers en SQL Server implementeert in Linux. Vervolgens leert u hoe u uw SQL Server in Linux-implementatie automatisch kunt afstemmen.
Certificering
Microsoft Certified: Azure Database Administrator Associate - Certifications
Beheer een SQL Server-databaseinfrastructuur voor cloud-, on-premises en hybride relationele databases met behulp van de relationele Microsoft PaaS-databaseaanbiedingen.