Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2019 (15.x) – Linux és újabb verziók
Megtudhatja, hogyan telepítheti a Java Language Extension összetevőt az SQL Serverhez Linuxon. A Java Language Extension az SQL Server nyelvi bővítményeinek és az adatbázismotor bővítményének része.
Bár az adatbázismotort és a nyelvi bővítményeket egyszerre is telepítheti, ajánlott először telepíteni és konfigurálni az SQL Server adatbázismotort, hogy további összetevők hozzáadása előtt megoldhassa a problémákat.
Előfeltételek
A Linux-verziót az SQL Servernek támogatnia kell, de nem tartalmazza a Docker-motort. A támogatott verziók a következők:
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES)
- Ubuntu
Rendelkeznie kell egy eszközzel Transact-SQL (T-SQL) parancsok futtatásához. A telepítés utáni konfigurációhoz és ellenőrzéshez lekérdezésszerkesztőre van szükség. Javasoljuk az Azure Data Studio ingyenes letöltését, amely Linuxon fut.
- A Java-bővítmények csomaghelye az SQL Server Linux-forrástáraiban található. Ha már konfigurálta a forrástárakat az adatbázismotor telepítéséhez, a csomagtelepítési
mssql-server-extensibility-javaparancsokat ugyanazzal az adattárregisztrációval futtathatja.
A nyelvi bővítmények Linux-tárolókon is támogatottak. Nem biztosítunk előre összeállított tárolókat nyelvi bővítményekkel, de létrehozhat egyet az SQL Server-tárolókból a GitHubon elérhető példasablon használatával.
A Language Extensions és a Machine Learning Services alapértelmezés szerint telepítve vannak az SQL Server Big Data-fürtökön. Big Data fürtök használata esetén nem kell követnie a cikkben leírt lépéseket. További információ: Python- és R-szkriptek futtatása Machine Learning Services használatával SQL Server 2019 Big Data-fürtökön.
Csomaglista
Az internetkapcsolattal rendelkező eszközökön a csomagok az adatbázismotortól függetlenül töltődnek le és települnek az egyes operációs rendszerek csomagtelepítőjének használatával. Az alábbi táblázat az összes elérhető csomagot ismerteti.
| A csomag neve | Alkalmazható | Leírás |
|---|---|---|
mssql-server-extensibility |
Minden nyelv | A Java nyelvi bővítményhez használt bővíthetőségi keretrendszer |
mssql-server-extensibility-java |
Jáva |
A következőkre vonatkozik: SQL Server 2019 (15.x) csak Linux rendszeren A Java nyelvi bővítményhez használt bővíthetőségi keretrendszer egy támogatott Java-futtatókörnyezetet tartalmaz |
Java nyelvi bővítmény telepítése
A mssql-server-extensibility-java segítségével telepítheti a Language Extensions-t és a Java-t Linuxra. A telepítéskor mssql-server-extensibility-javaa csomag automatikusan telepíti a JRE 11-et, ha még nincs telepítve. Emellett hozzáadja a JVM elérési útját egy úgynevezett JRE_HOMEkörnyezeti változóhoz.
A Java Language Extension engedélyezéséhez hozzon létre egy egyéni bináris fájlt a GitHub Java Language Extension oldalának utasításait követve.
Megjegyzés
Egy internetkapcsolattal rendelkező kiszolgálón a csomagfüggőségek a fő csomagtelepítés részeként töltődnek le és települnek. Ha a kiszolgáló nem csatlakozik az internethez, további részleteket az offline beállításban talál.
Igény szerint bármilyen Java-futtatókörnyezetet letölthet és telepíthet, beleértve az OpenJDK legújabb Microsoft-buildjét vagy a hivatalosan licencelt Java-futtatókörnyezetet. Az SQL Server 2022 -től (16.x) kezdődően az SQL Server telepítője nem telepít Java-futtatókörnyezetet.
A Java Language Extension engedélyezéséhez hozzon létre egy egyéni bináris fájlt a GitHub Java Language Extension oldalának utasításait követve.
Red Hat telepítési parancs
A Java nyelvi bővítményeit a Következő paranccsal telepítheti a Red Hatra.
Jótanács
Ha lehetséges, futtassa yum clean all a csomagok frissítését a rendszeren a telepítés előtt.
# Install as root or sudo
sudo yum install mssql-server-extensibility-java
Ubuntu telepítési parancs
A Java nyelvi bővítményeit az alábbi paranccsal telepítheti az Ubuntu-ra.
Jótanács
Ha lehetséges, futtassa apt-get update a csomagok frissítését a rendszeren a telepítés előtt. Emellett előfordulhat, hogy az Ubuntu néhány Docker-képe nem rendelkezik a https apt átviteli lehetőséggel. A telepítéshez használja a apt-get install apt-transport-https.
# Install as root or sudo
sudo apt-get install mssql-server-extensibility-java
SUSE telepítési parancs
A Java nyelvi bővítményeit az alábbi paranccsal telepítheti a SUSE-ra.
# Install as root or sudo
sudo zypper install mssql-server-extensibility-java
Telepítés utáni konfiguráció (kötelező)
Engedélyek megadása Linuxon
Külső kódtárak használata esetén nem kell elvégeznie ezt a lépést. A javasolt munkamódszer a külső kódtárak használata. Ha segítségre van szüksége egy külső tár fájlból való létrehozásához, olvassa el a
jarKÜLSŐ TÁR LÉTREHOZÁSA című témakörtHa nem használ külső kódtárakat, engedélyt kell adnia az SQL Server számára, hogy végrehajtsa a Java-osztályokat a(z)
jar-ban.Ha olvasási és végrehajtási hozzáférést szeretne biztosítani egy
jarfájlhoz, futtassa a következő chmod parancsot ajarfájlon. Azt javasoljuk, hogy amikor az SQL Server-rel dolgozik, mindig helyezze el az osztályfájlokat egyjar-ben. Ha segítségre van szüksége ajarlétrehozáshoz, olvassa el a Java-.jar fájl létrehozása osztályfájlokból című témakört.chmod ug+rx <MyJarFile.jar>Önnek is engedélyeket kell adnia a
mssql_satellitefájlra ajarolvasásához/végrehajtásához.chown mssql_satellite:mssql_satellite <MyJarFile.jar>A további konfiguráció elsősorban az mssql-conf eszközzel történik.
Adja hozzá az
mssqlSQL Server szolgáltatás futtatásához használt felhasználói fiókot. Erre akkor van szükség, ha korábban még nem futtatta a telepítőt.sudo /opt/mssql/bin/mssql-conf setupKimenő hálózati hozzáférés engedélyezése. A kimenő hálózati hozzáférés alapértelmezés szerint le van tiltva. A kimenő kérések engedélyezéséhez állítsa be a
outboundnetworkaccesslogikai tulajdonságot az mssql-conf eszközzel. További információ: Sql Server konfigurálása Linuxon mssql-conf.# Run as SUDO or root # Enable outbound requests over the network sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Indítsa újra az SQL Server Launchpad szolgáltatást és az adatbázismotor-példányt, hogy beolvassa a frissített értékeket az INI-fájlból. Az újraindítási üzenet emlékezteti önt, ha módosul egy bővíthetőséggel kapcsolatos beállítás.
systemctl restart mssql-launchpadd systemctl restart mssql-server.serviceEngedélyezze a külső szkriptek végrehajtását az Azure Data Studio vagy egy másik eszköz, például az SQL Server Management Studio (csak Windows esetén) használatával, amely T-SQL-t futtat.
EXECUTE sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;Indítsa újra a
mssql-launchpaddszolgáltatást.Minden olyan adatbázishoz, amelyben nyelvi bővítményeket szeretne használni, regisztrálnia kell a külső nyelvet a CREATE EXTERNAL LANGUAGE használatával. Tekintse meg a következő szakasz lépéseit.
Külső nyelv regisztrálása
Minden olyan adatbázishoz, amelyben nyelvi bővítményeket szeretne használni, regisztrálnia kell a külső nyelvet a CREATE EXTERNAL LANGUAGE használatával.
Az alábbi példa egy Java nevű külső nyelvet ad hozzá egy linuxos SQL Serveren futó adatbázishoz.
CREATE EXTERNAL LANGUAGE Java
FROM (
CONTENT = N'/opt/mssql-extensibility/lib/java-lang-extension.tar.gz',
FILE_NAME = 'javaextension.so',
ENVIRONMENT_VARIABLES = N'{"JRE_HOME":"/opt/mssql/lib/zulu-jre-11"}'
);
A Java-bővítmény esetében a környezeti változó JRE_HOME határozza meg a JVM megkeresésének és inicializálásának elérési útját.
A CREATE EXTERNAL LANGUAGE DDL egy paramétert (ENVIRONMENT_VARIABLES) biztosít, amely kifejezetten a bővítményt futtató folyamathoz állítja be a környezeti változókat. Ez a folyamat a külső nyelvi bővítmények által igényelt környezeti változók beállításának ajánlott és leghatékonyabb módja.
További információ: CREATE EXTERNAL LANGUAGE.
Telepítés ellenőrzése
A Java-funkciók integrációja nem tartalmaz kódtárakat, de futtatható grep -r JRE_HOME /etc a JAVA_HOME környezeti változó létrehozásának megerősítéséhez.
A telepítés ellenőrzéséhez futtasson egy T-SQL-szkriptet, amely egy, a Java-t invokáló rendszer által tárolt eljárást hajt végre. Ehhez a feladathoz szüksége van egy lekérdezési eszközre. Az Azure Data Studio jó választás. Más gyakran használt eszközök, például az SQL Server Management Studio csak Windows rendszerűek. Ha windowsos számítógépe van ezekkel az eszközökkel, azzal csatlakozhat az adatbázismotor Linux-telepítéséhez.
Az SQL Server és a Java Nyelvi bővítmény teljes telepítése
Az adatbázismotort és a Java nyelvi bővítményt egyetlen eljárásban telepítheti és konfigurálhatja, ha Java-csomagokat és paramétereket fűz hozzá az adatbázismotort telepítő parancshoz.
Adjon meg egy olyan parancssort, amely tartalmazza az adatbázismotort, valamint a nyelvi bővítmény funkcióit.
Az adatbázismotor telepítéséhez közvetlenül hozzáadhatja a Java bővíthetőséget.
sudo yum install -y mssql-server mssql-server-extensibility-javaFogadja el a licencszerződéseket, és végezze el a telepítés utáni konfigurációt. Ehhez a feladathoz használja az mssql-conf eszközt.
sudo /opt/mssql/bin/mssql-conf setupEz a lépés arra kéri, hogy fogadja el az adatbázismotor licencszerződését, válasszon ki egy kiadást, és adja meg a rendszergazdai jelszót.
Indítsa újra a szolgáltatást, ha a rendszer erre kéri.
sudo systemctl restart mssql-server.service
Felügyelet nélküli telepítés
Használja az adatbázismotor felügyelet nélküli telepítését , és adja hozzá a csomagokat a következőhöz mssql-server-extensibility-java: .
Offline telepítés
Kövesse az Offline telepítési útmutatást a csomagok telepítésének lépéseihez. Keresse meg a letöltési webhelyet, majd töltse le az adott csomagokat a szakasz későbbi részében található csomaglistával.
Jótanács
Számos csomagkezelési eszköz olyan parancsokat biztosít, amelyek segítenek meghatározni a csomagfüggőségeket. Yum esetén használja a sudo yum deplist [package]. Ubuntu esetén használja a sudo apt-get install --reinstall --download-only [package name], majd a dpkg -I [package name].deb.
Webhely letöltése
A csomagokat https://packages.microsoft.com/innen töltheti le. A Java összes csomagja együtt van helyezve az adatbázismotor-csomaggal.
Útvonalak letöltése
| Csomag | Disztribúció | Letöltési hely |
|---|---|---|
mssql/extensibility-java packages |
Red Hat 8 | https://packages.microsoft.com/rhel/8/mssql-server-2019/ |
mssql/extensibility-java packages |
SUSE v15 | https://packages.microsoft.com/sles/15/mssql-server-2019/ |
mssql/extensibility-java packages |
Ubuntu 20.04 | https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/ |
Csomaglista
Attól függően, hogy mely bővítményeket szeretné használni, töltse le az adott nyelvhez szükséges csomagokat. A pontos fájlnevek tartalmazzák a platformadatokat az utótagban, de a következő fájlnevek segítenek meghatározni, hogy mely fájlokat kell beszerezni.
Alapcsomagok
mssql-server-15.0.1000mssql-server-extensibility-15.0.1000
Jáva
mssql-server-extensibility-java-15.0.1000
Korlátozások
A vélelmezett hitelesítés jelenleg nem érhető el Linuxon, ami azt jelenti, hogy nem tud visszacsatlakozni a kiszolgálóhoz a folyamatban lévő Java-ból az adatok vagy más erőforrások eléréséhez.
Erőforrás-szabályozás
A külső erőforráskészletek esetében a Linux és a Windows között paritásos az erőforrás-szabályozás , de a sys.dm_resource_governor_external_resource_pools statisztikái jelenleg eltérő egységeket tartalmaznak Linuxon.
Megjegyzés
Az alábbi táblázatban szereplő statisztikák a megadott vezérlőcsoportok (cgroupok) alrendszereiből származnak.
| Oszlop név | Leírás | Érték Linuxon |
|---|---|---|
peak_memory_kb |
Az erőforráskészlethez használt memória maximális mennyisége. | Linuxon ez a statisztika az memory alrendszerből származik, ahol az érték memory.max_usage_in_bytes |
write_io_count |
A Resource Governor statisztikáinak visszaállítása óta végrehajtott összes írási művelet. | Linux rendszeren ez a statisztika az blkio alrendszerből származik, ahol az írási sor értéke blkio.throttle.io_serviced |
read_io_count |
A Resource Governor statisztikáinak visszaállítása óta kiadott teljes olvasási I/O-k. | Linux rendszeren ez a statisztika az blkio alrendszerből származik, ahol az olvasási sor értéke blkio.throttle.io_serviced |
total_cpu_kernel_ms |
A cpu-felhasználói kernel összesített ideje ezredmásodpercben a Resource Governor statisztikáinak alaphelyzetbe állítása óta. | Linux rendszeren ez a statisztika az cpuacct alrendszerből származik, ahol a felhasználói sor értéke cpuacct.stat |
total_cpu_user_ms |
Az erőforrás-kormányzó statisztikáinak alaphelyzetbe állítása óta eltelt összesített cpu-felhasználói idő ezredmásodpercben. | Linux rendszeren ez a statisztika az cpuacct alrendszerből származik, ahol a rendszersor értéke cpuacct.stat |
active_processes_count |
A kérés pillanatában futó külső folyamatok száma. | Linuxon ez a statisztika az pids alrendszerből származik, ahol az érték pids.current |