Sdílet prostřednictvím


Instalace rozšíření jazyka Java pro SQL Server v Linuxu

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

  • 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-java příkazy pro instalaci balíčku pomocí stejné registrace úložiště.

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é)

  1. 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 jar souboru 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 jar souboru, spusťte v souboru následující příkaz jarchmod. Při práci s SQL Serverem doporučujeme vždy umístit soubory třídy do jar. Nápovědu jark 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_satellite oprávnění jar souboru 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.

  2. mssql Př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 setup
    
  3. Povolte 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 outboundnetworkaccess logickou 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 1
    
  4. Restartujte 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.service
    
  5. Povolte 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;
    
  6. mssql-launchpadd Restartujte službu znovu.

  7. 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.

  1. 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-java
    
  2. Př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 setup
    

    Tento krok vás vyzve, abyste přijali licenční smlouvu pro databázový stroj, zvolili edici a nastavili heslo správce.

  3. 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.1000
    • mssql-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