Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Následující části popisují známé problémy s SQL Server on Linux.
Obecné
Následující tabulka uvádí nejběžnější problémy s SQL Server on Linux.
| Problém | Usnesení |
|---|---|
| Délka názvu hostitele, ve kterém je nainstalována SQL Server, musí být 15 znaků nebo méně. | Změňte název v /etc/hostname na hodnotu, která má 15 znaků nebo méně. |
| Ruční nastavení systémového času do minulosti způsobí, že SQL Server zastaví aktualizaci interního systémového času v rámci Database Engine. | Restartujte SQL Server. |
| Podporují se jenom instalace s jednou instancí. | Pokud chcete mít na daném hostiteli více než jednu instanci, zvažte použití virtuálních počítačů nebo kontejnery Linuxu. |
| SQL Server Configuration Manager se nemůže připojit k SQL Server on Linux. | Žádný. |
Výchozí jazyk účtu sa je angličtina. |
Pomocí příkazu sa změňte jazyk účtu ALTER LOGIN. |
Zprostředkovatel OLE DB zaznamená následující upozornění: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. |
Nevyžaduje se žádná akce. Zprostředkovatel OLE DB je podepsaný pomocí SHA256. SQL Server Database Engine neověřuje podepsanou .dll správně. |
Příkaz Resetovat heslo pomocí mssql-conf vyvolá následující chybu:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
Chybová zpráva je falešně negativní. Resetování hesla proběhlo úspěšně a nové heslo můžete dál používat. Platí pro: pouze kontejnerové image SQL Serveru 2022 (16.x). |
Databáze
Databázi
masternelze přesunout pomocí nástroje mssql-conf. Ostatní systémové databáze lze přesunout pomocí mssql-conf.Při obnovení databáze zálohované na SQL Server v Windows je nutné použít klauzuli
WITH MOVEv příkazu Transact-SQL. Další informace najdete v tématu Migrace databáze SQL Server z Windows do Linuxu pomocí zálohování a obnovení.Některé algoritmy (šifrovací sady) pro tls (Transport Layer Security) nefungují se SQL Server on Linux správně. Výsledkem jsou selhání připojení při pokusu o připojení k SQL Server a problémy s navazováním připojení mezi replikami ve skupinách s vysokou dostupností.
Pokud chcete tento problém vyřešit, upravte konfigurační skript
mssql.conftak, aby SQL Server on Linux zakázal problematické šifrovací sady pomocí následujícího postupu:Do
/var/opt/mssql/mssql.confpřidejte následující část. Vykřičník (!) neguje výraz. To říká OpenSSL, aby nepoužíval šifrovací sadu, která bude následovat.[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-SHARestartujte SQL Server pomocí následujícího příkazu.
sudo systemctl restart mssql-server
Databáze SQL Server 2014 (12.x) na Windows, které používají In-Memory OLTP, nelze obnovit na SQL Server na Linuxu. Pokud vaše databáze SQL Server 2014 (12.x) používá In-Memory OLTP, nejprve upgradujte databáze na novější verzi SQL Server na Windows. Potom ho můžete přesunout do SQL Server on Linux pomocí zálohování/obnovení nebo odpojení/připojení.
Uživatelské oprávnění
ADMINISTER BULK OPERATIONSse v současnosti v Linuxu nepodporuje.TDE-komprimované zálohy, které jsou vytvořeny pomocí SQL Serveru 2019 (15.x) CU 16 a novějších verzí, nelze obnovit ve starších verzích CU SQL Serveru 2019 (15.x). Další informace naleznete v tématu OPRAVA: Chyba 3241 se objeví při provádění příkazu RESTORE LOG nebo RESTORE DATABASE.
Transparent Data Encryption (TDE)-komprimované zálohy, které byly vytvořeny pomocí předchozích kumulativních aktualizací (CU) SQL Server 2019 (15.x), je možné obnovit pomocí SQL Server 2019 (15.x) CU 16 a novějších verzí.
Při instalaci SQL Server 2022 (16.x) na Ubuntu 22.04 se může zobrazit následující chybová zpráva:
Failed to start Microsoft SQL Server Database Engine. Pokud zkontrolujete protokol chyb, zobrazí se pro systémové databáze nesprávná cesta.Chcete-li tento problém vyřešit, spusťte instanci v režimu jednoho uživatele a pomocí
ALTER DATABASE ... MODIFY FILEpřesuňte nakonfigurované umístění systémových databází do výchozího umístění/var/opt/mssql/data. Po provedení této změny restartujte službu.
Síť
Funkce, které zahrnují odchozí připojení TCP z procesu sqlservr, jako jsou propojené servery, PolyBase nebo skupiny dostupnosti, nemusí fungovat, pokud jsou splněny obě následující podmínky:
Cílový server je určen jako název hostitele, nikoli IP adresa.
Zdrojová instance má v jádru zakázaný protokol IPv6. Pokud chcete ověřit, jestli je v jádru povolený protokol IPv6, musí projít všechny následující testy:
-
cat /proc/cmdlinevytiskne spouštěcí příkazový řádek aktuálního jádra. Výstup nesmí obsahovatipv6.disable=1. - Adresář
/proc/sys/net/ipv6/musí existovat. - Program jazyka C, který volá
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP), by měl být úspěšný - syscall musí vrátitfd != -1a neselhat sEAFNOSUPPORT.
-
Přesná chyba závisí na funkci. U propojených serverů se zobrazí chyba časového limitu přihlášení. U skupin dostupnosti selže ALTER AVAILABILITY GROUP JOIN DDL na sekundárním serveru po pěti minutách s chybou download configuration timeout.
Pokud chcete tento problém vyřešit, proveďte jednu z následujících možností:
Místo názvů hostitelů použijte IP adresy k určení cíle připojení TCP.
Povolte v jádru protokol IPv6 odebráním
ipv6.disable=1ze spouštěcího příkazového řádku. Metoda závisí na distribuci Linuxu a bootloaderu, například grub. Pokud chcete protokol IPv6 zakázat, můžete ho přesto zakázat nastavenímnet.ipv6.conf.all.disable_ipv6 = 1v konfiguracisysctl(například/etc/sysctl.conf). I když toto nastavení brání síťovému adaptéru systému získat adresu IPv6, umožňuje fungovánísqlservrfunkcí.
Protokol TLS 1.3 se v SQL Server 2022 nepodporuje
Applies to: SQL Server 2022 (pouze 16.x).
I když se protokol TLS 1.3 podporuje v SQL Server 2022 (16.x) pro Windows, musíte v Linuxu použít protokol TLS 1.2.
Poznámka:
Protokol TLS 1.3 je podporován pro SQL Server 2025 (17.x) na Ubuntu 22.04, Ubuntu 24.04, RHEL 9 a RHEL 10. Protokol TLS 1.3 je ve výchozím nastavení povolený.
Systém souborů NFS (Network File System)
Pokud používáte vzdálené sdílené složky systému souborů NFS (Network File System) v produkčním prostředí, mějte na paměti následující požadavky na podporu:
Použijte systém souborů NFS verze 4.2 nebo novější. Starší verze systému souborů NFS nepodporují požadované funkce, jako jsou
fallocatea řídké vytváření souborů, které jsou běžné pro moderní systémy souborů.Vyhledejte pouze adresáře označené
/var/opt/mssqlna připojení NFS. Jiné soubory, například binární soubory systému SQL Server, se nepodporují.Ujistěte se, že klienti NFS používají volbu
nolockpři připojování ke vzdálenému sdílení.
Lokalizace
Pokud vaše místní nastavení není během instalace nastavena na angličtinu (
en_us), je potřeba v Bash relaci nebo terminálu použít kódování UTF-8. Pokud používáte kódování ASCII, může se zobrazit chyba podobná následujícímu výstupu:UnicodeEncodeError: Kodek ASCII nemůže kódovat znak u'\xf1' na pozici 8: hodnota není v rozsahu (128)
Pokud nemůžete použít kódování UTF-8, spusťte instalační program pomocí proměnné prostředí
MSSQL_LCIDa určete jazykovou volbu.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupPři spuštění
mssql-conf setupa provedení neanglické instalace SQL Server lze za lokalizovaným textem zobrazit nesprávné rozšířené znaky, "Konfigurace SQL Server... ". V případě instalací, které nejsou založené na latince, může věta úplně chybět. Chybějící věta by měla zobrazit následující lokalizovaný řetězec:Licenční kód PID byl úspěšně zpracován. Nová edice je [<Name> edition].
Tento řetězec je výstupem pouze pro účely informací, neovlivňuje úspěšnou instalaci SQL Server žádným způsobem.
Hledání v plném textu
V této verzi nejsou k dispozici všechny filtry, včetně filtrů pro Microsoft Office dokumenty. Seznam podporovaných filtrů najdete v tématu Instalace SQL Server Full-Text Search na Linux.
SQL Server Integration Services (SSIS)
Balíček mssql-server-is se na SUSE Linux Enterprise Serveru (SLES) nepodporuje. Balíček je podporován v Ubuntu a Red Hat Enterprise Linux (RHEL).
Balíčky integračních služeb můžou používat připojení ODBC v Linuxu. Tato funkce byla testována s SQL Server a ovladači ODBC MySQL, ale očekává se také, že bude fungovat s libovolným ovladačem ODBC unicode, který dodržuje specifikaci ODBC. V době návrhu můžete zadat dsN nebo connection string pro připojení k datům ODBC. Můžete také použít Windows authentication. Další informace najdete v příspěvku na blogu , který oznamuje podporu ODBC v Linuxu.
Následující funkce nejsou v této verzi podporovány při spouštění balíčků SSIS v Linuxu:
- Databáze katalogu integračních služeb
- Naplánované spuštění balíčku pomocí SQL Server Agent
- ověřování Windows
- Komponenty třetích stran
- Zachytávání změn dat (CDC)
- Škálování integračních služeb
- Azure Feature Pack pro SSIS
- Podpora systému Hadoop a HDFS
- Microsoft Connector pro SAP BW
Seznam předdefinovaných komponent SSIS, které nejsou aktuálně podporované nebo které jsou podporovány s omezeními, najdete v tématu Omezení a známé problémy se službou SSIS v Linuxu.
Další informace o službě SSIS v Linuxu najdete v následujících článcích:
- blog příspěvek s oznámením podpory SSIS pro Linux.
- Nainstalujte SQL Server Integration Services (SSIS) na Linux
- extrakce, transformace a načítání dat v Linuxu pomocí služby SSIS
SQL Server Management Studio (SSMS)
Následující omezení platí pro SQL Server Management Studio na Windows připojené k SQL Server on Linux.
Plány údržby nejsou podporovány.
Management Data Warehouse (MDW) a kolektor dat v SQL Server Management Studio nejsou podporovány.
SQL Server Management Studio součásti uživatelského rozhraní, které mají možnosti ověřování Windows nebo Windows protokolu událostí nefungují s Linuxem. Tyto funkce můžete dál používat s dalšími možnostmi, jako jsou SQL Server přihlášení.
Počet souborů protokolu, které se mají zachovat, nelze upravit.
Vysoká dostupnost a zotavení po havárii
Applies to: SQL Server 2022 (pouze 16.x).
Při spuštění SQL Server 2022 (16.x) CU 16 a starších verzí na RHEL 9 jako omezená aplikace s povoleným SELinuxem nemusí clusterování Pacemaker fungovat podle očekávání. Abyste mohli využívat možnosti clusteringu Pacemaker, musíte nainstalovat SQL Server 2022 (16.x) jako nekonfinovanou aplikaci se zapnutou funkcí SELinux. Tento problém je vyřešený v SQL Server 2022 (16.x) CU 17.
Služby strojového učení
Applies to: SQL Server 2022 (pouze 16.x).
Pro balíčky SQL Server 2022 (16.x) pro RHEL 9 a Ubuntu 22.04 existují některé požadavky, které je potřeba vzít v úvahu s cgroup-v1 před instalací Machine Learning Services.
Jako předpoklad musí být
cgroup-v1povoleno v souladu s Použití cgroupfs pro ruční správu cgroups v Red Hat Enterprise Linux 9 od Red Hatu.Pak postupujte podle pokynů a nainstalujte službu SQL Machine Learning Services, jak je uvedeno v dokumentaci.
Zakažte izolaci síťového jmenného prostoru.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Aby se tyto změny projevily, restartujte službu
mssql-launchpadd.sudo systemctl restart mssql-launchpadd
Známé problémy v SQL Server 2025
Následující problémy ovlivňují SQL Server 2025 (17.x).
SQL Server on Linux nejde spustit na počítačích s hybridní architekturou procesoru
Issue: SQL Server instance v Linuxu se nemusí spustit, pokud počítač používá procesor hybridní architektury Intel 12. generace nebo novější a hostitelský operační systém je Linux.
Může se zobrazit chybová zpráva podobná následujícímu výstupu:
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Pokud chcete použít hostitelský operační systém Linux, můžete problém vyřešit zakázáním jader efektivity (E-jader) v systému BIOS. Pokud používáte kontejnery nebo hypervisor, jako je Hyper-V na Windows (včetně WSL), nebudete ovlivněni.
Místní modely ONNX nejsou podporovány v operačních systémech Linux
CREATE EXTERNAL MODEL místní modely ONNX hostované přímo na SQL Server nejsou aktuálně dostupné pro Linux v SQL Server 2025 (17.x).
Související obsah
- Poznámky k vydání pro SQL Server 2022 na Linuxu
- Editions a podporované funkce SQL Server 2022 v Linuxu
- Odstraňování problémů SQL Serveru na Linuxu