Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik: SQL Server 2019 (15.x) és újabb verziók
Megtudhatja, hogyan telepítheti a Java Language Extension összetevőt az SQL Serverhez Windows rendszeren. A Java Language Extension az SQL Server nyelvi bővítményeinek része.
Megjegyzés:
Ez a cikk az SQL ServerHez készült Java Language Extension windowsos telepítéséről szól. Linux esetén lásd: AZ SQL Server Java Language Extension telepítése Linuxon. A Windowson futó C# nyelvi bővítményről az SQL Server .NET Nyelvi bővítmény telepítése Windows rendszeren című témakörben olvashat.
Előfeltételek
Megjegyzés:
A funkciók képességei és a telepítési lehetőségek az SQL Server különböző verzióiban eltérőek. Az SQL Server megfelelő verziójának kiválasztásához használja a verzióválasztó legördülő listát.
Ha telepíteni szeretné a Java Language Extension támogatását, az SQL Server telepítése kötelező.
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 (16.x) és újabb verzióiban a Java-futtatókörnyezetet az SQL Server telepítője nem telepíti.
Adatbázismotor-példányra van szükség. Nem telepítheti csak a Java Language Extension funkcióit, bár növekményesen hozzáadhatja őket egy meglévő példányhoz.
Az üzletmenet folytonossága érdekében az Always On rendelkezésre állási csoportok támogatottak a nyelvi bővítmények esetében. Minden csomóponton telepítenie kell a nyelvi bővítményeket, és konfigurálnia kell a csomagokat. A Java Language Extension telepítése az SQL Server feladatátvevő fürtpéldányán is támogatott.
Ne telepítse az SQL Server nyelvi bővítményeit vagy a Java Nyelvi bővítményt tartományvezérlőre. A Nyelvi bővítmények beállítási része sikertelen.
A Language Extensions és a Machine Learning Services alapértelmezés szerint telepítve van 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.
Fontos
A telepítés befejezése után mindenképpen végezze el a cikkben ismertetett konfiguráció utáni lépéseket. Ezek a lépések közé tartozik, hogy az SQL Server külső kódot használjon, és hozzáadja az SQL Serverhez szükséges fiókokat a Java-kód ön nevében való futtatásához. A konfigurációs módosítások általában a példány újraindítását vagy a Launchpad szolgáltatás újraindítását igénylik.
Java JRE vagy JDK
Megjegyzés:
A funkciók képességei és a telepítési lehetőségek az SQL Server különböző verzióiban eltérőek. Az SQL Server megfelelő verziójának kiválasztásához használja a verzióválasztó legördülő listát.
Az SQL Server 2022 -vel (16.x) 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.
A Java 11 jelenleg a Windows támogatott verziója. A Java Runtime Environment (JRE) a minimális követelmény, de a Java Development Kit (JDK) akkor hasznos, ha a Java-fordítóra és a fejlesztői csomagokra van szüksége. Mivel a JDK mindenre kiterjed, a JDK telepítésekor a JRE nem szükséges. Windows rendszeren javasoljuk, hogy ha lehetséges, telepítse a JDK-t az alapértelmezett /Program Files/ mappába. Ellenkező esetben további konfigurációra van szükség a végrehajtható fájlok engedélyeinek megadásához. További információkért tekintse meg a dokumentum engedélyezési engedélyeinek (Windows) szakaszát.
A Java kétféleképpen telepíthető és használható az SQL Server 2019 (15.x) és újabb verzióival:
Használja az alapértelmezett Java-futtatókörnyezetet, amely része az SQL Server telepítésének.
Az alábbi táblázat a Beállítás részét képező Java alapértelmezett verzióit sorolja fel:
SQL Server-verzió Alapértelmezett Java-verzió SQL Server 2019 (15.x) CU 23 és újabb verziók Microsoft Build of OpenJDK 11.0.19 SQL Server 2019 (15.x) RTM – CU22 Azul Zulu JRE 11.0.3 Az alapértelmezett Java-futtatókörnyezet helyett használja az előnyben részesített Java-disztribúciót.
A Java 11 jelenleg a Windows támogatott verziója. A Java Runtime Environment (JRE) a minimális követelmény, de a Java Development Kit (JDK) akkor hasznos, ha a Java-fordítóra és a fejlesztői csomagokra van szüksége. Mivel a JDK mindenre kiterjed, a JDK telepítésekor a JRE nem szükséges. Windows rendszeren javasoljuk, hogy ha lehetséges, telepítse a JDK-t az alapértelmezett
/Program Files/mappába. Ellenkező esetben további konfigurációra van szükség a végrehajtható fájlok engedélyeinek megadásához. További információkért tekintse meg a dokumentum engedélyezési engedélyeinek (Windows) szakaszát.
Megjegyzés:
Mivel a Java visszamenőlegesen kompatibilis, a korábbi verziók működhetnek, de az SQL Server 2019 (15.x) támogatott és tesztelt verziója a Java 11.
A telepítési adathordozó lekérése
Az SQL Server letöltési helye a kiadástól függ:
SQL Server Enterprise, Standard és Express kiadások. Ezek a kiadások éles használatra vannak licencelve. Az Enterprise és Standard kiadások esetén forduljon a szoftver gyártójához a telepítési adathordozóhoz. A vásárlási információkat és a Microsoft-partnerek címtárát a Microsoft vásárlási webhelyén találja.
A telepítő futtatása
Helyi telepítések esetén rendszergazdaként kell futtatnia a telepítőt. Ha távoli megosztásból telepíti az SQL Servert, olyan tartományi fiókot kell használnia, amely olvasási és végrehajtási engedélyekkel rendelkezik a távoli megosztáson.
Indítsa el az SQL Server telepítővarázslót.
A Telepítés lapon válassza az Új SQL Server önálló telepítését, vagy adjon hozzá funkciókat egy meglévő telepítéshez.
A Funkciókijelölés lapon válassza az alábbi beállításokat:
Adatbázismotor-szolgáltatások: Ha nyelvi bővítményeket szeretne használni az SQL Serverrel, telepítenie kell az adatbázismotor egy példányát. Használhat alapértelmezett vagy elnevezett példányt is.
Machine Learning Services és nyelvi bővítmények: Ez a beállítás telepíti a Java-kódfuttatást támogató Language Extensions összetevőt.
Ha telepíteni szeretné az alapértelmezett Java-futtatókörnyezetet, válassza a Machine Learning Services és a Language Extensions és aJava lehetőséget.
Ha saját Java-futtatókörnyezetet szeretne használni, válassza a Machine Learning Services és a Language Extensions lehetőséget. Ne válassza a Java lehetőséget.
Ha R-t és Pythont szeretne használni, olvassa el az SQL Server Machine Learning Services (Python és R) telepítése Windows rendszeren című témakört.
Ha az előző lépésben a Java lehetőséget választja az alapértelmezett Java-futtatókörnyezet telepítéséhez, megjelenik a Java telepítési helye lap.
Telepítse a telepítéshez tartozó alapértelmezett Java-t. A nyelvi bővítményekhez nem használható az a lehetőség, hogy egy másik, erre a számítógépre telepített verzió helyét adja meg.
A Funkciókijelölés lapon válassza az alábbi beállításokat:
Adatbázismotor-szolgáltatások: Ha nyelvi bővítményeket szeretne használni az SQL Serverrel, telepítenie kell az adatbázismotor egy példányát. Használhat alapértelmezett vagy elnevezett példányt is.
Machine Learning Services és nyelvi bővítmények: Ez a beállítás telepíti a Java-kódfuttatást támogató Language Extensions összetevőt.
A Telepítésre kész lapon ellenőrizze, hogy ezek a beállítások szerepelnek-e, majd válassza a Telepítés lehetőséget.
- Adatbázismotor-szolgáltatások
- Machine Learning Services és nyelvi bővítmények
Jegyezze fel a mappa helyét a konfigurációs fájlok tárolási útvonala
..\Setup Bootstrap\Logalatt. Ha a telepítés befejeződött, áttekintheti a telepített összetevőket az Összegző fájlban.A telepítés befejezése után, ha a rendszer arra utasítja, hogy indítsa újra a számítógépet, tegye meg most. Fontos, hogy a telepítő befejezésekor olvassa el a telepítővarázsló üzenetét. További információt az SQL Server telepítő naplófájljainak megtekintése és olvasása című témakörben talál.
A JRE_HOME változó hozzáadása
JRE_HOME egy rendszerkörnyezeti változó, amely meghatározza a Java-értelmező helyét. Ebben a lépésben hozzon létre egy rendszerkörnyezeti változót a Windows rendszeren.
Keresse meg és másolja ki a JRE kezdőlapját.
Az alapértelmezett Java-futtatókörnyezet, a Zulu JRE 11.0.3 JRE otthoni elérési útja például az
%ProgramFiles%\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\AZUL-OpenJDK-JRE\.Az SQL Server telepítési útvonalától függően vagy ha egy másik Java-futtatókörnyezetet választott, a JDK vagy a JRE helye eltérhet az előző példában szereplő útvonaltól. Még akkor is, ha telepítve van egy JDK, gyakran kap egy JRE almappát a telepítés részeként, ezért ebben az esetben mutasson a JRE mappára. A Java-bővítmény megpróbálja betölteni az
jvm.dllelérési útról%JRE_HOME%\bin\server.
Keresse meg és másolja ki a JRE kezdőlapját.
Ez az elérési út a futtatókörnyezettől és a telepítési lehetőségektől függ.
A Java-bővítmény megpróbálja betölteni az
jvm.dllelérési útról%JRE_HOME%\bin\server.
A Vezérlőpulton nyissa meg a Rendszer és biztonság elemet, nyissa meg a System elemet, és válassza a Speciális rendszertulajdonságok lehetőséget.
Válassza ki a Környezeti változók lehetőséget.
Hozzon létre egy új rendszerváltozót
JRE_HOMEa JDK/JRE elérési út értékével (az 1. lépésben található).
Indítsa újra a Launchpadet.
Nyissa meg SQL Server Configuration Manager.
Az SQL Server Services területen kattintson a jobb gombbal az SQL Server Launchpadre, és válassza az Újraindítás lehetőséget.
Nyelvi bővítmény regisztrálása. Az alábbi lépéseket követve töltse le és regisztrálja a Java egyéni futtatókörnyezetéhez használt Java nyelvi bővítményt.
Töltse le a
java-lang-extension-windows-release.zipfájlt az SQL Server GitHub-adattár Java nyelvi bővítményéből. Töltse le a legújabb Windows-fájltjava-lang-extension-windows.zip. Ha még nem telepítette az alapértelmezett Java-t az SQL Server telepítőjéből, győződjön meg arról, hogy a JRE-verzió megegyezik a GitHubról letöltött verzióval. Ha inkább a saját telepített JRE-verziót szeretné használni, előfordulhat, hogy a GitHub forráskódjából kell lefordítaniajava-lang-extension.Az Azure Data Studio használatával csatlakozzon az SQL Server-példányhoz, és futtassa a következő T-SQL-parancsot a Java nyelvbővítmény regisztrálásához a CREATE EXTERNAL LANGUAGE használatával.
Módosítsa az ebben az utasításban szereplő elérési utat a letöltött nyelvbővítmény zip-fájljának (java-lang-extension-windows-release.zip) és az egyéni Java-telepítés helyének (
%ProgramFiles%\Python) megfelelően.
CREATE EXTERNAL LANGUAGE [Java] FROM (CONTENT = N'C:\path\to\java-lang-extension-windows-release.zip', FILE_NAME = 'javaextension.dll', ENVIRONMENT_VARIABLES = N'{"JAVAHOME": "C:\\Program Files\\Java"}'); GOIndítsa újra a Launchpadet.
Nyissa meg SQL Server Configuration Manager.
Az SQL Server Services területen kattintson a jobb gombbal az SQL Server Launchpadre, és válassza az Újraindítás lehetőséget.
Hozzáférés biztosítása nem alapértelmezett JRE-mappához
Ha nem telepítette az SQL Serverhez tartozó alapértelmezett Java-t, és nem telepítette a Java-t /Program Files, hajtsa végre a következő lépéseket.
Ha nem telepítette a Java-t a programfájlok alatt, hajtsa végre a következő lépéseket.
Futtassa az icacls parancsokat egy emelt szintű sorból, hogy hozzáférést biztosítson az SQLRUsergroup és az SQL Server szolgáltatásfiókjaihoz (in ALL_APPLICATION_PACKAGES) a JRE eléréséhez. A parancsok rekurzív módon biztosítanak hozzáférést az adott könyvtár elérési útja alatt lévő összes fájlhoz és mappához.
SQLRUserGroup-engedélyek megadása
Névvel ellátott példány esetén fűzze hozzá a példány nevét az SQLRUsergrouphoz (például
SQLRUsergroupINSTANCENAME).icacls "<PATH to JRE>" /grant "SQLRUsergroup":(OI)(CI)RX /TEzt a lépést kihagyhatja, ha telepítette a JDK/JRE fájlt a Windows programfájljai alatti alapértelmezett mappába.
Adjon AppContainer-engedélyeket. Ez a parancs engedélyeket ad a számítógép SID-jének
S-1-15-2-1, amely egyenértékűALL APPLICATION PACKAGESa Windows angol verziójával. Másik lehetőségként használhatjaicacls "<PATH to JRE>" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /Ta Windows angol verzióját is.icacls "<PATH to JRE>" /grant *S-1-15-2-1:(OI)(CI)RX /T
A szolgáltatás újraindítása
Ha a telepítés befejeződött, indítsa újra az adatbázismotort, mielőtt továbblép a következő lépésre, és engedélyezi a szkript végrehajtását.
A szolgáltatás újraindítása automatikusan újraindítja a kapcsolódó SQL Server Launchpad szolgáltatást is.
A szolgáltatás újraindításához kattintson a jobb gombbal az SSMS-példány Újraindítás parancsára, a Vezérlőpult Szolgáltatások paneljén vagy az SQL Server Configuration Manager használatával.
Szkript végrehajtásának engedélyezése
Nyissa meg az SQL Server Management Studiót. Csatlakozzon ahhoz a példányhoz, ahol telepítette a Nyelvi bővítményeket, válassza az Új lekérdezés lehetőséget egy lekérdezési ablak megnyitásához, és futtassa a következő parancsot:
EXECUTE sp_configure;A funkció alapértelmezés szerint ki van kapcsolva (
valuevan0), és a Java-kód futtatása előtt a rendszergazdának explicit módon engedélyeznie kell.A külső szkriptelési funkció engedélyezéséhez futtassa a következő utasítást:
EXECUTE sp_configure 'external scripts enabled', 1; GO RECONFIGURE WITH OVERRIDE; GOHa már engedélyezte a Machine Learning Services szolgáltatását, ne futtassa újra a nyelvi bővítmények újrakonfigurálását. A mögöttes bővíthetőségi platform mindkettőt támogatja.
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 windowsos SQL Serveren futó adatbázishoz.
CREATE EXTERNAL LANGUAGE Java
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO
További információ: CREATE EXTERNAL LANGUAGE.
Telepítés ellenőrzése
Ellenőrizze a példány telepítési állapotát a telepítési naplókban.
Az alábbi lépésekkel ellenőrizheti, hogy a külső szkript indításához használt összes összetevő fut-e.
Az SQL Server Management Studióban vagy az Azure Data Studióban nyisson meg egy új lekérdezési ablakot, és futtassa a következő utasítást:
EXECUTE sp_configure 'external scripts enabled';A
run_valuebeállítás értéke 1.Nyissa meg a Szolgáltatások panelt vagy az SQL Server Configuration Managert, és ellenőrizze, hogy fut-e az SQL Server Launchpad szolgáltatás . Minden olyan adatbázismotor-példányhoz rendelkeznie kell egy szolgáltatással, amely rendelkezik telepített nyelvi bővítményekkel. A szolgáltatással kapcsolatos további információkért lásd: Bővíthetőségi architektúra az SQL Server Language Extensionsben.
További konfiguráció
Ha az ellenőrzési lépés sikeres volt, futtathatja a Java Code-ot az SQL Server Management Studióból, az Azure Data Studióból, a Visual Studio Code-ból vagy bármely más ügyfélből, amely T-SQL-utasításokat küldhet a kiszolgálónak.
Ha a parancs futtatásakor hibaüzenetet kapott, tekintse át a jelen szakaszban található további konfigurációs lépéseket. Előfordulhat, hogy további megfelelő konfigurációkat kell létrehoznia a szolgáltatáshoz vagy az adatbázishoz.
A példány szintjén további konfigurációk lehetnek a következők:
- Az SQL Server Machine Learning Services tűzfalkonfigurációja
- Kiszolgálói hálózati protokoll engedélyezése vagy letiltása
- kiszolgáló konfigurálása: távoli hozzáférés
- Bejelentkezés létrehozása az SQLRUserGroup szolgáltatáshoz
Az adatbázisban a következő konfigurációs frissítésekre lehet szükség:
- Python- és R-szkriptek SQL Server Machine Learning Services használatával történő végrehajtásához az adatbázis felhasználóinak engedélyt ad
- Adott nyelv végrehajtásának engedélyezése a felhasználóknak
Megjegyzés:
Az, hogy további konfigurációra van-e szükség, a biztonsági sémától, az SQL Server telepítésének módjától, valamint attól függ, hogy a felhasználók hogyan csatlakozhatnak az adatbázishoz, és hogyan futtathatnak külső szkripteket.
Javasolt optimalizálások
Most, hogy minden működik, érdemes lehet optimalizálni a kiszolgálót a Java Language Extension támogatásához.
A kiszolgáló optimalizálása Java nyelvi bővítményhez
Az SQL Server beállításának alapértelmezett beállításai arra szolgálnak, hogy optimalizálják a kiszolgáló egyensúlyát az adatbázismotor által támogatott különféle szolgáltatásokhoz, amelyek lehetnek például az SQL Server-adatokat használó folyamatok kinyerése, átalakítása és betöltése (ETL), jelentéskészítés, naplózás és alkalmazások. Ezért az alapértelmezett beállítások között előfordulhat, hogy a nyelvi bővítmények erőforrásai néha korlátozottak vagy szabályozva vannak, különösen a memóriaigényes műveletek esetében.
Annak érdekében, hogy a nyelvi bővítmények feladatai rangsorolása és erőforrás-erőforrás-beállítása megfelelő legyen, javasoljuk, hogy az SQL Server Resource Governor használatával konfiguráljon egy külső erőforráskészletet. Érdemes lehet módosítani az adatbázismotor számára lefoglalt memória mennyiségét, vagy növelni az SQL Server Launchpad szolgáltatásban futó fiókok számát.
Ha külső erőforrások kezelésére szeretne erőforráskészletet konfigurálni, olvassa el a CREATE EXTERNAL RESOURCE POOL (Transact-SQL) című témakört.
Az adatbázis számára fenntartott memória mennyiségének módosításához tekintse meg a kiszolgáló memóriakonfigurációs beállításait.
Ha Standard kiadást használ, és nem rendelkezik erőforrás-kormányzóval, dinamikus felügyeleti nézeteket (DMV-ket) és bővített eseményeket, valamint Windows-eseményfigyelést használhat a kiszolgáló erőforrásainak kezeléséhez.
Következő lépés
A Java-fejlesztők megismerkedhetnek néhány egyszerű példával, és megismerhetik a Java SQL Serverrel való működésének alapjait. A következő lépéshez tekintse meg a következő hivatkozást: