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) – Linux a novější verze
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.
Požadavky
Verze Linuxu musí být podporována SQL Serverem, ale nezahrnuje Docker Engine. Mezi podporované verze patří:
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES)
- Ubuntu
Měli byste mít nástroj pro spouštění příkazů Transact-SQL (T-SQL). Editor dotazů je nezbytný pro konfiguraci a ověření po instalaci. Doporučujeme Azure Data Studio, bezplatné stažení, které běží v Linuxu.
- Umístění balíčku pro rozšíření Java je ve zdrojových úložištích SQL Serveru s Linuxem. Pokud jste už nakonfigurovali zdrojová úložiště pro instalaci databázového stroje, můžete spustit
mssql-server-extensibility-javapříkazy pro instalaci balíčku pomocí stejné registrace úložiště.
Rozšíření jazyka se také podporují v kontejnerech Linuxu. Neposkytujeme předem připravené kontejnery s rozšířeními jazyka, ale můžete ho vytvořit z kontejnerů SQL Serveru pomocí ukázkové šablony dostupné na GitHubu.
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. Další informace najdete v tématu Spouštění skriptů Pythonu a R pomocí služby Machine Learning Services v clusterech s velkými objemy dat SQL Serveru 2019.
Seznam balíčků
Na zařízení připojeném k internetu se balíčky stahují a instalují nezávisle na databázovém stroji pomocí instalačního programu balíčků pro každý operační systém. Následující tabulka popisuje všechny dostupné balíčky.
| Název balíčku | Platí pro | Popis |
|---|---|---|
mssql-server-extensibility |
Všechny jazyky | Architektura rozšiřitelnosti používaná pro rozšíření jazyka Java |
mssql-server-extensibility-java |
Java |
Platí pro: SQL Server 2019 (15.x) pouze v Linuxu Architektura rozšiřitelnosti používaná pro rozšíření jazyka Java a zahrnuje podporovaný modul runtime Javy. |
Instalace rozšíření jazyka Java
Jazykové rozšíření a Javu můžete nainstalovat v Linuxu instalací mssql-server-extensibility-java. Při instalaci mssql-server-extensibility-javabalíček automaticky nainstaluje JRE 11, pokud ještě není nainstalovaný. Přidá také cestu JVM do proměnné prostředí s názvem 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.
Poznámka:
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í.
Podle potřeby si můžete stáhnout a nainstalovat jakýkoli modul runtime Javy, včetně nejnovější verze microsoft buildu OpenJDK nebo oficiálně licencovaného modulu runtime Java. 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
Jazykové rozšíření pro Javu můžete nainstalovat v Red Hatu pomocí následujícího příkazu.
Návod
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
Jazykové rozšíření pro Javu můžete nainstalovat na Ubuntu pomocí následujícího příkazu.
Návod
Pokud je to možné, spusťte apt-get update aktualizaci balíčků v systému před instalací. Některé image Dockeru Ubuntu navíc nemusí mít možnost přenosu https apt. Pokud ho chcete nainstalovat, použijte apt-get install apt-transport-https.
# Install as root or sudo
sudo apt-get install mssql-server-extensibility-java
Příkaz instalace SUSE
Jazykové rozšíření pro Javu můžete nainstalovat v SUSE pomocí následujícího příkazu.
# Install as root or sudo
sudo zypper install mssql-server-extensibility-java
Konfigurace po instalaci (povinné)
Udělení oprávnění v Linuxu
Pokud používáte externí knihovny, nemusíte tento krok provádět. Doporučený způsob práce spočívá v používání externích knihoven. Nápovědu k vytvoření externí knihovny ze
jarsouboru najdete v tématu VYTVOŘENÍ EXTERNÍ KNIHOVNY.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í .Pokud chcete udělit oprávnění ke čtení a spuštění přístupu k
jarsouboru, spusťte v souboru následující příkazjarchmod. Při práci s SQL Serverem doporučujeme vždy umístit soubory třídy dojar. 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>Musíte také udělit
mssql_satelliteoprávněníjarsouboru ke čtení a spuštění.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. To je vyžadováno, pokud jste instalační program předtím nespustili.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ý. Pokud chcete povolit odchozí požadavky, nastavte
outboundnetworkaccesslogickou vlastnost pomocí nástroje mssql-conf . Další informace najdete 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. Zpráva o restartování vám při každé změně nastavení souvisejícího s rozšiřitelností připomíná.
systemctl restart mssql-launchpadd systemctl restart mssql-server.servicePovolte spouštění externích skriptů pomocí nástroje Azure Data Studio nebo jiného nástroje, jako je SQL Server Management Studio (jenom Windows), na kterém běží T-SQL.
EXECUTE sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;mssql-launchpaddRestartujte službu znovu.Pro každou databázi, ve které chcete používat jazyková rozšíření, je potřeba zaregistrovat externí jazyk v jazyce CREATE EXTERNAL LANGUAGE. Postup najdete v další části.
Registrace externího jazyka
Pro každou databázi, ve které chcete používat jazyková rozšíření, je potřeba zaregistrovat externí jazyk v jazyce 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"}'
);
Pro rozšíření Java se proměnná prostředí JRE_HOME používá k určení cesty, z níž se JVM vyhledá a inicializuje.
DDL CREATE EXTERNAL LANGUAGE poskytuje parametr (ENVIRONMENT_VARIABLES) pro nastavení proměnných prostředí speciálně pro proces hostující rozšíření. Tento proces představuje doporučený a nejúčinnější způsob nastavení proměnných prostředí vyžadovaných rozšířeními externího jazyka.
Další informace naleznete v tématu VYTVOŘENÍ EXTERNÍHO JAZYKA.
Ověření instalace
Integrace funkcí Java nezahrnuje knihovny, ale můžete spustit grep -r JRE_HOME /etc a potvrdit vytvoření proměnné prostředí JAVA_HOME.
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. Azure Data Studio je dobrou volbou. Další běžně používané nástroje, jako je SQL Server Management Studio, jsou pouze pro Windows. Pokud máte počítač s Windows s těmito nástroji, použijte ho k připojení k instalaci databázového stroje s Linuxem.
Úplná instalace SQL Serveru a rozšíření jazyka Java
Databázový stroj a rozšíření jazyka Java můžete nainstalovat a nakonfigurovat jedním postupem tak, že do příkazu, který nainstaluje databázový stroj, připojíte balíčky a parametry Javy.
Zadejte příkazový řádek, který obsahuje databázový stroj a funkce rozšíření jazyka.
Do instalace databázového stroje můžete přidat rozšiřitelnost Javy.
sudo yum install -y mssql-server mssql-server-extensibility-javaPřijměte licenční smlouvy a dokončete konfiguraci po instalaci. Pro tuto úlohu použijte nástroj mssql-conf .
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 k tomu budete vyzváni, 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
Postupujte podle pokynů k offline instalaci pro kroky instalace balíčků. Najděte svůj web pro stažení a pak stáhněte konkrétní balíčky pomocí seznamu balíčků dále v této části.
Návod
Několik nástrojů pro správu balíčků poskytuje příkazy, které vám pomůžou 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
Balíčky si můžete stáhnout z https://packages.microsoft.com/. Všechny balíčky pro Javu se společně přidělují s balíčkem databázového stroje.
Cesty ke stažení
| Balíček | 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é názvy souborů obsahují informace o platformě v příponě, ale následující názvy souborů by vám měly pomoct určit, které soubory se mají získat.
Základní balíčky
mssql-server-15.0.1000mssql-server-extensibility-15.0.1000
Java
mssql-server-extensibility-java-15.0.1000
Omezení
Implicitní ověřování v současné době není v Linuxu k dispozici, což znamená, že se nemůžete připojit zpět k serveru z probíhající Javy pro přístup k datům nebo jiným prostředkům.
Zásady správného řízení prostředků
Existuje parita mezi Linuxem a Windows pro zásady správného řízení prostředků pro fondy externích zdrojů, ale statistiky pro sys.dm_resource_governor_external_resource_pools v současné době mají různé jednotky v Linuxu.
Poznámka:
Statistiky v následující tabulce pocházejí ze zadaných subsystémů Skupin ovládacích prvků (cgroups).
| Název sloupce | Popis | Hodnota v Linuxu |
|---|---|---|
peak_memory_kb |
Maximální množství paměti používané pro zdrojový fond. | V Linuxu je tato statistika zdrojem z subsystému memory , kde je hodnota memory.max_usage_in_bytes |
write_io_count |
Celkový počet I/O zápisu provedený od té doby, co byly statistiky správce prostředků resetovány. | 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 IOs pro čtení vydaný od resetování statistik správce prostředků. | V Linuxu je tato statistika zdrojem ze subsystému blkio , kde hodnota na řádku čtení je blkio.throttle.io_serviced |
total_cpu_kernel_ms |
Kumulativní čas uživatelského režimu jádra CPU v milisekundách od doby, kdy byly statistiky Správce prostředků naposledy resetovány. | V Linuxu je tato statistika zdrojem ze subsystému cpuacct , kde je hodnota na řádku uživatele cpuacct.stat |
total_cpu_user_ms |
Kumulativní čas uživatele procesoru v milisekundách od resetování statistik správce prostředků. | V Linuxu je tato statistika zdrojem ze subsystému cpuacct , kde hodnota systémového řádku je 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 |