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.
Platí pro: SQL Server 2019 (15.x) v Linuxu a novějších verzích
Zjistěte, jak nainstalovat komponentu Rozšíření jazyka Java pro SQL Server v Linuxu. Rozšíření jazyka Java je součástí jazykových rozšíření SQL Serveru a doplňku databázového systému.
I když můžete databázový stroj a rozšíření jazyka nainstalovat souběžně, je osvědčeným postupem nejprve nainstalovat a nakonfigurovat databázový stroj SQL Serveru, abyste mohli vyřešit případné problémy před přidáním dalších komponent.
Předpoklady
Vaše distribuce Linuxu musí být podporována SQL Server. Kontejnery jsou v pozdější kulce kryty zvlášť. Podporované distribuce zahrnují:
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES)
- Ubuntu
Potřebujete editor dotazů, který spustí Transact-SQL (T-SQL) příkazy pro konfiguraci a validaci po instalaci. Doporučujeme rozšíření MSSQL pro Visual Studio Code. Je to bezplatné stažení na Linuxu.
- Balíček rozšíření Java je v repozitářích zdrojových kódů SQL Server Linuxu. Pokud jste už nakonfigurovali zdrojové repozitáře pro instalaci Database Engine, spusťte
mssql-server-extensibility-javapříkazy pro instalaci balíčků se stejnou registrací repozitáře.
Rozšíření jazyka se také podporují v kontejnerech Linuxu. Předpřipravené kontejnery s rozšířením jazyka nejsou dostupné, ale můžete si jeden vytvořit z SQL Server kontejnerů pomocí ukázkové šablony dostupné na GitHub.
Jazykové rozšíření a služby Machine Learning Services se ve výchozím nastavení instalují v clusterech s velkými objemy dat SQL Serveru. Pokud používáte clustery s velkými objemy dat, nemusíte postupovat podle kroků v tomto článku.
Seznam balíčků
Na zařízení připojeném k internetu stahujete a instalujete balíčky nezávisle na Database Engine pomocí instalátoru balíčků pro každý operační systém. Následující tabulka popisuje všechny dostupné balíčky.
| Název balíčku | Vztahuje se na | Description |
|---|---|---|
mssql-server-extensibility |
Všechny jazyky | Architektura rozšiřitelnosti používaná pro rozšíření jazyka Java |
mssql-server-extensibility-java |
Java | Architektura rozšiřitelnosti používaná pro rozšíření jazyka Java a zahrnuje podporovaný modul runtime Javy. Platí na: SQL Server 2019 (15.x) pouze na Linuxu |
Instalace rozšíření jazyka Java
Pro instalaci rozšíření jazyka a Javy na Linux nainstalujte mssql-server-extensibility-java balíček. Balíček automaticky nainstaluje JRE 11 (pokud ještě není nainstalován) a přidá cestu JVM k proměnné prostředí nazvané JRE_HOME.
Pokud chcete povolit rozšíření jazyka Java, vytvořte vlastní binární soubor podle pokynů na stránce rozšíření jazyka Java na GitHubu.
Note
Na serveru připojeném k internetu se v rámci instalace hlavního balíčku stáhnou a nainstalují závislosti balíčků. Pokud váš server není připojený k internetu, podívejte se na další podrobnosti v offline nastavení.
Můžete si stáhnout a nainstalovat jakýkoli Java runtime, včetně nejnovější Microsoft Build pro OpenJDK nebo oficiálně licencovaného Java runtime. Počínaje SQL Serverem 2022 (16.x) nenainstaluje instalační program SQL Serveru modul runtime Java.
Pokud chcete povolit rozšíření jazyka Java, vytvořte vlastní binární soubor podle pokynů na stránce rozšíření jazyka Java na GitHubu.
Příkaz Instalace Red Hatu
Pro instalaci rozšíření jazyka pro Java na Red Hat použijte následující příkaz.
Tip
Pokud je to možné, spusťte yum clean all aktualizaci balíčků v systému před instalací.
# Install as root or sudo
sudo yum install mssql-server-extensibility-java
Příkaz pro instalaci Ubuntu
Pro instalaci rozšíření jazyka pro Java na Ubuntu použijte následující příkaz.
Tip
Pokud je to možné, spusťte apt-get update aktualizaci balíčků v systému před instalací. Některé obrazy Ubuntu Dockeru balíček apt-transport-https neobsahují. Pokud ho chcete nainstalovat, spusťte apt-get install apt-transport-httpspříkaz .
# Install as root or sudo
sudo apt-get install mssql-server-extensibility-java
Příkaz instalace SUSE
Pro instalaci rozšíření jazyka pro Java na SUSE použijte následující příkaz.
# Install as root or sudo
sudo zypper install mssql-server-extensibility-java
Konfigurace po instalaci (vyžadována)
Udělení oprávnění v Linuxu
Pokud používáte externí knihovny, nemusíte tento krok provádět. Externí knihovny jsou doporučený přístup. Pro pomoc s vytvořením externí knihovny ze
jarsouboru viz CREATE EXTERNAL LIBRARY.Pokud nepoužíváte externí knihovny, musíte SQL Serveru poskytnout oprávnění ke spouštění tříd Java ve vašem
jarprostředí .Pro udělení čtení a spuštění souboru
jarspusťtechmodnásledující příkaz na soubor.jarVždy si při práci se SQL Server vkládejte své třídní soubory do ajar. Nápovědujark vytvoření souboru java .jar ze souborů třídy najdete v tématu Vytvoření souboru java .jar.chmod ug+rx <MyJarFile.jar>Také musíte dát
mssql_satelliteoprávnění ke čtení a spuštění souborujar.chown mssql_satellite:mssql_satellite <MyJarFile.jar>Další konfigurace je primárně prostřednictvím nástroje mssql-conf.
mssqlPřidejte uživatelský účet použitý ke spuštění služby SQL Serveru. Tento krok je nutný, pokud jste předtím nespustili nastavení.sudo /opt/mssql/bin/mssql-conf setupPovolte odchozí síťový přístup. Odchozí síťový přístup je ve výchozím nastavení zakázaný. Pro povolení odchozích požadavků nastavte v nástroji
mssql-confvlastnostoutboundnetworkaccessBooleovské hodnoty. Další informace naleznete v tématu Konfigurace SQL Serveru v Linuxu pomocí mssql-conf.# Run as SUDO or root # Enable outbound requests over the network sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Restartujte službu Launchpad SYSTÉMU SQL Server a instanci databázového stroje, abyste mohli číst aktualizované hodnoty ze souboru INI. Životopis vás upozorní pokaždé, když upravíte nastavení související s rozšiřitelností.
systemctl restart mssql-launchpadd systemctl restart mssql-server.servicePovolte spuštění externího skriptu. K instanci SQL Serveru se můžete připojit pomocí libovolného známého klientského nástroje SQL Serveru, jako je sqlcmd, SQL Server Management Studio (SSMS) nebo rozšíření MSSQL pro Visual Studio Code.
EXECUTE sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;mssql-launchpaddRestartujte službu znovu.Pro každou databázi, kde chcete používat jazyková rozšíření, zaregistrujte externí jazyk pomocí CREATE EXTERNAL LANGUAGE. Viz další část pro kroky.
Registrace externího jazyka
Pro každou databázi, kde chcete používat jazyková rozšíření, zaregistrujte externí jazyk pomocí CREATE EXTERNAL LANGUAGE.
Následující příklad přidá externí jazyk s názvem Java do databáze na SQL Serveru v Linuxu.
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"}'
);
U rozšíření Java určuje proměnná JRE_HOME prostředí cestu k nalezení a inicializaci JVM.
CREATE EXTERNAL LANGUAGE DDL poskytuje ENVIRONMENT_VARIABLES parametr pro nastavení proměnných prostředí pro proces, který hostuje rozšíření. Použijte tento parametr k nastavení proměnných prostředí, které externí jazyková rozšíření vyžadují.
Další informace najdete na webu CREATE EXTERNAL LANGUAGE.
Ověření instalace
Integrace funkcí Java neobsahuje knihovny, ale můžete spustit a grep -r JRE_HOME /etc potvrdit, že proměnná JRE_HOME prostředí existuje.
Pokud chcete ověřit instalaci, spusťte skript T-SQL, který spouští systémovou uloženou proceduru, která vyvolá Javu. Pro tento úkol potřebujete nástroj pro dotazy. K instanci SQL Serveru se můžete připojit pomocí libovolného známého klientského nástroje SQL Serveru, jako je sqlcmd, SQL Server Management Studio (SSMS) nebo rozšíření MSSQL pro Visual Studio Code.
Úplná instalace SQL Serveru a rozšíření jazyka Java
Pro instalaci a konfiguraci Database Engine a rozšíření Java Language v jednom postupu přidejte Java balíčky a parametry k příkazu, který instaluje Database Engine.
Zadejte příkazový řádek, který obsahuje databázový stroj a funkce rozšíření jazyka.
Následující příkaz přidává rozšiřitelnost Java k instalaci Database Engine.
sudo yum install -y mssql-server mssql-server-extensibility-javaPřijměte licenční smlouvy a dokončete konfiguraci po instalaci. Použijte
mssql-confnástroj.sudo /opt/mssql/bin/mssql-conf setupTento krok vás vyzve, abyste přijali licenční smlouvu pro databázový stroj, zvolili edici a nastavili heslo správce.
Pokud se k tomu vyptává, restartujte službu.
sudo systemctl restart mssql-server.service
Bezobslužná instalace
Použijte bezobslužnou instalaci databázového stroje a přidejte balíčky pro mssql-server-extensibility-java.
Instalace offline
Pro instalaci balíčků postupujte podle offline instalačních instrukcí. Najděte si stránku ke stažení a poté si stáhněte konkrétní balíčky uvedené později v této sekci.
Tip
Několik nástrojů pro správu balíčků poskytuje příkazy, které vám pomohou určit závislosti balíčků. Pro yum použijte sudo yum deplist [package]. Pro Ubuntu použijte sudo apt-get install --reinstall --download-only [package name] následovaný dpkg -I [package name].deb.
Stáhnout z webu
Stáhněte si balíčky z https://packages.microsoft.com/. Stránka hostuje všechny Java balíčky spolu s balíčkem Database Engine.
Cesty ke stažení
| Package | Distribuce | Umístění pro stažení |
|---|---|---|
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/ |
Seznam balíčků
V závislosti na tom, která rozšíření chcete použít, si stáhněte balíčky potřebné pro konkrétní jazyk. Přesná jména souborů obsahují informace o platformě v příponě, ale následující názvy souborů vám pomohou určit, které soubory si pořídit.
Základní balíčky
mssql-server-15.0.1000mssql-server-extensibility-15.0.1000
Java
mssql-server-extensibility-java-15.0.1000
Omezení
Implicitní autentizace není na Linuxu dostupná. Java kód běžící v externím procesu se nemůže připojit zpět k serveru a přistupovat k datům nebo jiným zdrojům.
Zásady správného řízení prostředků
Linux a Windows mají paritu v správě zdrojů pro externí zdrojové pooly, ale statistiky pro sys.dm_resource_governor_external_resource_pools aktuálně ukazují různé jednotky na Linuxu.
Note
Statistiky v následující tabulce jsou čerpány ze specifikovaných podsystémů Control Groups (cgroups).
| Název sloupce | Description | Hodnota v Linuxu |
|---|---|---|
peak_memory_kb |
Maximální paměť, kterou zdrojový fond používá. | V Linuxu je tato statistika zdrojem z subsystému memory , kde je hodnota memory.max_usage_in_bytes |
write_io_count |
Celkový počet zápisových IO vydaných od posledního resetu statistik Resource Governor. | V Linuxu je tato statistika čerpána ze subsystému blkio, kde je hodnota na řádku zápisu blkio.throttle.io_serviced. |
read_io_count |
Celkový počet přečtených IO vydaných od posledního resetu statistik Resource Governor. | Na Linuxu je tato statistika získána z podsystému blkio , kde je hodnota v řádku čtení blkio.throttle.io_serviced |
total_cpu_kernel_ms |
Kumulativní čas uživatele CPU v milisekundách od posledního resetu statistik Resource Governor. | V Linuxu je tato statistika zdrojem ze subsystému cpuacct , kde je hodnota na řádku uživatele cpuacct.stat |
total_cpu_user_ms |
Kumulativní uživatelský čas CPU v milisekundách od posledního resetu statistik Resource Governor. | Na Linuxu je tato statistika pocházela z cpuacct podsystému, kde je hodnota v řádku systému cpuacct.stat |
active_processes_count |
Počet externích procesů spuštěných v okamžiku požadavku. | V Linuxu je tato statistika zdrojem z subsystému pids , kde je hodnota pids.current |