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ókon
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. A Visual Studio Code MSSQL-bővítményét javasoljuk, amely linuxos ingyenes letöltés.
- 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 |
Java |
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 SQL Server egy példányához bármilyen ismerős SQL Server-ügyféleszközzel csatlakozhat, például sqlcmd, SQL Server Management Studio (SSMS) vagy a Visual Studio Code MSSQL-bővítményével.
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 SQL Server egy példányához bármilyen ismerős SQL Server-ügyféleszközzel csatlakozhat, például sqlcmd, SQL Server Management Studio (SSMS) vagy a Visual Studio Code MSSQL-bővítményével.
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
Java
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 |