SQL Server on Linux: Ismert problémák

A következő szakaszok a SQL Server on Linux ismert problémáit ismertetik.

Általános

Az alábbi táblázat a SQL Server on Linux leggyakoribb problémáit sorolja fel.

Probléma Felbontás
Annak a gazdagépnévnek a hosszának, ahol az SQL Server telepítve van, legfeljebb 15 karakter hosszúnak kell lennie. Módosítsa a /etc/hostname nevét 15 karakter hosszú vagy kisebb értékre.
Ha a rendszeridőt manuálisan visszafelé állítja be, SQL Server leállítja a belső rendszeridő frissítését a Database Engine belül. Indítsa újra SQL Server.
Csak egyetlen példány telepítése támogatott. Ha egy adott gazdagépen több példányt szeretne használni, fontolja meg virtuális gépek vagy Linux-tárolókhasználatát.
SQL Server Konfigurációkezelő nem tud csatlakozni SQL Server on Linux. Konfigurációkezelő Linuxon nem támogatott. A SQL Server on Linux kezelése mssql-conf használatával.
A sa fiók alapértelmezett nyelve az angol. Módosítsa a sa fiók nyelvét a ALTER LOGIN utasítással.
Az OLE DB-szolgáltató a következő figyelmeztetést naplózza:

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.
Nincs szükség műveletre. Az OLE DB-szolgáltatót SHA256 algoritmussal írták alá. A SQL Server adatbázismotor nem ellenőrzi helyesen az aláírt .dll.
A mssql-conf jelszó-visszaállítási parancs a következő hibát dobja:

Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information.
A hibaüzenet hamis negatív. A jelszó alaphelyzetbe állítása sikeres volt, és továbbra is használhatja az új jelszót.

A következőkre vonatkozik: SQL Server 2022 (16.x) tárolóképek.

Adatbázisok

  • A adatbázis nem helyezhető át az mssql-conf segédprogrammal. Más rendszeradatbázisok áthelyezhetők mssql-conf.

  • Amikor Windows SQL Server biztonsági másolattal rendelkező adatbázist állít vissza, a Transact-SQL utasításban a WITH MOVE záradékot kell használnia. További információért tekintse meg a SQL Server-adatbázis migrációját Windowsról Linuxra biztonsági mentés és visszaállítás használatával.

  • A Transport Layer Security (TLS) egyes algoritmusai (titkosítási csomagjai) nem működnek megfelelően a SQL Server on Linux. Ez kapcsolathibákat eredményez, amikor SQL Server próbál csatlakozni, és problémákat okoz a magas rendelkezésre állású csoportok replikái közötti kapcsolatok létrehozásakor.

    A probléma megoldásához módosítsa a SQL Server on Linux mssql.conf konfigurációs szkriptet a problémás titkosítási csomagok letiltásához az alábbi lépések végrehajtásával:

    1. Adja hozzá a következő szakaszt a /var/opt/mssql/mssql.conf-hoz. A felkiáltójel (!) eltitkolja a kifejezést. Ez arra utasítja az OpenSSL-t, hogy ne használja a következő titkosítási csomagot.

      [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. Indítsa újra SQL Server a következő paranccsal.

      sudo systemctl restart mssql-server
      
  • SQL Server 2014 (12.x) verziójában a Windows rendszeren futó adatbázisok, amelyek In-Memory OLTP-t használnak, nem állíthatók vissza SQL Server Linuxon. Ha a SQL Server 2014-es (12.x) adatbázis In-Memory OLTP-t használ, először frissítse az adatbázisokat a Windows SQL Server újabb verziójára. Ezután áthelyezheti az adatait az SQL Server környezetbe Linuxon, biztonsági mentéssel/visszaállítással vagy leválasztással/csatolással.

  • A felhasználói engedély ADMINISTER BULK OPERATIONS Linux rendszereken jelenleg nem támogatott.

  • A SQL Server 2019 (15.x) CU 16-os és újabb verzióival készült TDE-tömörített biztonsági másolatok nem állíthatók vissza a SQL Server 2019 (15.x) korábbi CU-verzióira. További információ: JAVÍTÁS: A 3241-es hiba a RESTORE LOG vagy a RESTORE DATABASEvégrehajtása során fordul elő.

    transzparens adattitkosítás A SQL Server 2019 (15.x) korábbi CU-verzióival készített (TDE)-tömörített biztonsági másolatok továbbra is visszaállíthatók a SQL Server 2019 -es (15.x) CU 16-os és újabb verzióival.

  • Amikor az Ubuntu 22.04-en telepíti SQL Server 2022 (16.x) verziót, a következő hibaüzenet jelenhet meg: Failed to start Microsoft SQL Server Database Engine. Ha áttekinti a hibanaplót, helytelen elérési utat lát a rendszeradatbázisokhoz.

    A probléma megoldásához indítsa el a példányt egyfelhasználós módban, és a ALTER DATABASE ... MODIFY FILE használatával helyezze át a rendszeradatbázisok konfigurált helyét az alapértelmezett helyre /var/opt/mssql/data. A módosítás elvégzése után indítsa újra a szolgáltatást.

Hálózat

Előfordulhat, hogy a sqlservr folyamatból kimenő TCP-kapcsolatokat (például csatolt kiszolgálókat, PolyBase-et vagy rendelkezésre állási csoportokat) tartalmazó szolgáltatások nem működnek, ha mindkét feltétel teljesül:

  • A célkiszolgáló állomásnévként van megadva, nem IP-címként.

  • A forráspéldányban le van tiltva az IPv6 a kernelben. Annak ellenőrzéséhez, hogy a rendszer engedélyezve van-e az IPv6-ban a kernelben, az alábbi teszteknek kell megfelelniük:

    • cat /proc/cmdline kinyomtatja az aktuális kernel rendszerindító parancsmagját. A kimenet nem tartalmazhat ipv6.disable=1.
    • A /proc/sys/net/ipv6/ könyvtárnak léteznie kell.
    • A socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)-t meghívó C programnak sikeresnek kell lennie – a syscallnak fd != -1-et kell visszaadnia, és nem szabad EAFNOSUPPORThibával sikertelennek lennie.

A pontos hiba a funkciótól függ. Csatolt kiszolgálók esetén bejelentkezési időtúllépési hiba jelenik meg. Rendelkezésre állási csoportok esetén a másodlagos ALTER AVAILABILITY GROUP JOIN DDL öt perc után download configuration timeout hibával sikertelen lesz.

A probléma megoldásához tegye az alábbi lehetőségek egyikét:

  • A TCP-kapcsolat célhelyének megadásához használjon IP-címeket a gazdagépnevek helyett.

  • Engedélyezze az IPv6-ot a kernelben a ipv6.disable=1 a rendszerindítási parancssorból való eltávolításával. A módszer a Linux-disztribúciótól és a rendszerindítótól függ, például grub. Ha azt szeretné, hogy az IPv6 le legyen tiltva, akkor is letilthatja a net.ipv6.conf.all.disable_ipv6 = 1 beállításával a sysctl konfigurációban (például /etc/sysctl.conf). Bár ez a beállítás megakadályozza, hogy a rendszer hálózati adaptere IPv6-címet kapjon, lehetővé teszi a sqlservr funkciók működését.

A TLS 1.3 nem támogatott az SQL Server 2022-ben.

A csak a: SQL Server 2022(16.x) verzióra vonatkozik.

Bár a TLS 1.3 támogatott a 2022-SQL Server (16.x) Windows esetén, linuxos TLS 1.2-t kell használnia.

Megjegyzés:

A TLS 1.3 az Ubuntu 22.04, Ubuntu 24.04, RHEL 9 és RHEL 10 SQL Server 2025 (17.x) esetén támogatott. A TLS 1.3 alapértelmezés szerint engedélyezve van.

Hálózati fájlrendszer (NFS)

Ha éles környezetben hálózati fájlrendszer (NFS) távoli megosztásokat használ, vegye figyelembe a következő támogatási követelményeket:

  • Használja az NFS 4.2-es vagy újabb verzióit. Az NFS régebbi verziói nem támogatják a szükséges funkciókat, például a fallocate és a ritkán használt fájllétrehozást, amelyek a modern fájlrendszerekben gyakoriak.

  • Csak a /var/opt/mssql könyvtárakat keresse meg az NFS-csatlakoztatáson. Más fájlok, például a SQL Server rendszer bináris fájljai nem támogatottak.

  • Győződjön meg arról, hogy az NFS-ügyfelek a nolock lehetőséget használják a távoli megosztás csatlakoztatásakor.

Lokalizáció

  • Ha a helyi beállítás nem angol (en_us) a telepítés közben, UTF-8 kódolást kell használnia a bash-munkamenetben/terminálban. HA ASCII-kódolást használ, az alábbi kimenethez hasonló hibaüzenet jelenhet meg:

    UnicodeEncodeError: az 'ascii' kodek nem tudja kódolni az u'\xf1' karaktert a 8. pozícióban: az oktális érték nem esik a 128-as tartományba.

    Ha nem tudja használni az UTF-8 kódolást, futtassa a telepítőt a MSSQL_LCID környezeti változóval a nyelvválasztás megadásához.

    sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
    
  • A mssql-conf setup futtatásakor és a SQL Server nem angol nyelvű telepítésekor helytelenül bővített karakterek jelenhetnek meg a honosított szöveg után: "SQL Server konfigurálása... ". Vagy a nem latin alapú telepítések esetében előfordulhat, hogy a mondat teljesen hiányzik. A hiányzó mondatnak a következő honosított sztringet kell megjelenítenie:

    A licencelési PID feldolgozása sikeresen megtörtént. Az új kiadás [<Név> kiadás].

    Ez a sztring csak tájékoztatási célú kimenet, semmilyen módon nem befolyásolja a SQL Server sikeres telepítését.

Ebben a kiadásban nem minden szűrő érhető el, beleértve a Microsoft Office dokumentumok szűrőit is. A támogatott szűrők listáját a Install SQL Server Full-Text Keresés Linuxon című témakörben találja.

SQL Server Integration Services (SSIS)

A mssql-server-is csomag nem támogatott a SUSE Linux Enterprise Serveren (SLES). A csomag az Ubuntu és a Red Hat Enterprise Linux (RHEL) rendszereken támogatott.

Az Integration Services-csomagok ODBC-kapcsolatokat használhatnak Linuxon. Ezt a funkciót a SQL Server és a MySQL ODBC-illesztőprogramokkal teszteltük, de várhatóan bármely Unicode ODBC-illesztőprogrammal is működni fog, amely az ODBC specifikációját figyeli. Tervezéskor megadhat egy DSN-t vagy egy kapcsolati karakterláncot az ODBC-adatokhoz való csatlakozáshoz; Windows-hitelesítést is használhat. További információért tekintse meg a blogbejegyzést, amely bejelenti az ODBC támogatását a Linuxon.

A következő funkciók nem támogatottak ebben a kiadásban, amikor SSIS-csomagokat futtat Linuxon:

  • Integration Services-katalógus adatbázisa
  • SQL Server Agent által ütemezett csomagvégrehajtás
  • Windows hitelesítés
  • Külső összetevők
  • Adatrögzítés módosítása (CDC)
  • Integrációs szolgáltatások vertikális felskálázása
  • Azure SSIS-funkciócsomag
  • Hadoop és HDFS-támogatás
  • Microsoft Összekötő az SAP BW-hez

A jelenleg nem támogatott vagy korlátozásokkal támogatott beépített SSIS-összetevők listáját a Linuxon futó SQL Server Integration Services (SSIS) támogatásával és szempontjaival kapcsolatos című témakörben találja.

A Linuxon futó SSIS-ről az alábbi cikkekben talál további információt:

SQL Server Management Studio (SSMS)

A Windows SQL Server Management Studio, amely egy SQL Serverhez kapcsolódik Linux rendszeren, az alábbi korlátozások vonatkoznak.

  • A karbantartási tervek nem támogatottak.

  • A felügyeleti Data Warehouse (MDW) és a SQL Server Management Studio adatgyűjtője nem támogatott.

  • SQL Server Management Studio Windows hitelesítéssel vagy Windows eseménynapló-beállításokkal rendelkező felhasználói felületi összetevők nem működnek Linuxon. Ezeket a funkciókat továbbra is használhatja más lehetőségekkel, például SQL Server bejelentkezésekkel.

  • A megőrizni kívánt naplófájlok száma nem módosítható.

Magas rendelkezésre állás és vészhelyreállítás

A csak a: SQL Server 2022(16.x) verzióra vonatkozik.

A 2022-SQL Server (16.x) CU 16-os és korábbi verzióinak futtatásakor az RHEL 9-en korlátozott, SELinux-kompatibilis alkalmazásként előfordulhat, hogy a Pacemaker-fürtözés nem a várt módon működik. A Pacemaker-fürtözési képességek kihasználásához a SELinux bekapcsolásával telepítenie kell az SQL Server 2022 (16.x)-et nem korlátozott alkalmazásként. Ezt a problémát a 2022.SQL Server (16.x) CU 17-ben oldjuk meg.

Machine Learning-szolgáltatások

A csak a: SQL Server 2022(16.x) verzióra vonatkozik.

A RHEL 9 és az Ubuntu 22.04 operációs rendszerekhez készült SQL Server 2022 (16.x) csomagok esetében a Machine Learning Services telepítése előtt figyelembe kell venni néhány előfeltételt, különösen a cgroup-v1 használatát.

  1. Előfeltételként a cgroup-v1 engedélyezése szükséges, ahogyan azt a A cgroupok manuális kezelésének módja a cgroupfs használatával Red Hat Enterprise Linux 9 esetén Red Hat ajánlja.

  2. Ezután kövesse az utasításokat az SQL Machine Learning Services install dokumentált módon történő telepítéséhez.

  3. Tiltsa le a hálózati névtér elkülönítését.

    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. Indítsa újra mssql-launchpadd szolgáltatást a módosítások érvénybe lépéséhez.

    sudo systemctl restart mssql-launchpadd
    

Ismert problémák a 2025-ös SQL Server

Az alábbi problémák a 2025-ös (17.x) SQL Server érintik.

SQL Server on Linux nem indul el a hibrid CPU-architektúrával rendelkező gépeken

Issue: SQL Server Linux-példányok nem indulhatnak el, ha a gép Intel 12. generációs vagy újabb hibrid architektúrájú processzort használ, és a gazda operációs rendszer Linux.

A következő kimenethez hasonló hibaüzenet jelenhet meg:

Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208

Ha Linux operációs rendszert szeretne használni gazdaként, a probléma megkerüléséhez tiltsa le az E-magokat (efficiency cores) a BIOS-ban. Ha tárolókat vagy olyan hipervizort használ, mint a Hyper-V Windows (beleértve a WSL-t), az nem érinti.

Linux operációs rendszereken nem támogatott helyi ONNX-modellek

A külső modell létrehozása közvetlenül a SQL Server üzemeltetett helyi ONNX-modellek jelenleg nem érhetők el Linuxon a 2025-ös SQL Server (17.x) rendszeren.