Sdílet prostřednictvím


Instalace rozšíření jazyka Java pro SQL Server ve Windows

Platí pro: SQL Server 2019 (15.x) a novější verze

Zjistěte, jak nainstalovat komponentu Rozšíření jazyka Java pro SQL Server ve Windows. Rozšíření jazyka Java je součástí jazykových rozšíření SQL Serveru.

Poznámka:

Tento článek je určený k instalaci rozšíření jazyka Java pro SQL Server ve Windows. Informace o Linuxu najdete v tématu Instalace rozšíření jazyka Java pro SQL Server v Linuxu. Informace o rozšíření jazyka C# ve Windows naleznete v tématu Instalace rozšíření jazyka SQL Server .NET ve Windows.

Požadavky

Poznámka:

Možnosti funkce a možnosti instalace se liší mezi verzemi SQL Serveru. Pomocí rozevíracího seznamu selektoru verzí zvolte odpovídající verzi SQL Serveru.

  • Instalace SQL Serveru se vyžaduje, pokud chcete nainstalovat podporu pro rozšíření jazyka Java.

  • 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. V SQL Serveru 2022 (16.x) a novějších verzích není modul runtime Java nainstalován instalačním programem SQL Serveru.

  • Je vyžadována instance databázového stroje. Nemůžete nainstalovat jenom funkce rozšíření jazyka Java, i když je můžete přírůstkově přidat do existující instance.

  • V případě provozní kontinuity jsou skupiny dostupnosti AlwaysOn podporovány pro rozšíření jazyka. Na každý uzel musíte nainstalovat jazyková rozšíření a nakonfigurovat balíčky. Instalace rozšíření jazyka Java se také podporuje v instanci clusteru s podporou převzetí služeb při selhání v SQL Serveru.

  • Nenainstalujte na řadiči domény rozšíření JAZYKa SQL Server ani rozšíření jazyka Java. Část Jazykové rozšíření instalačního programu se nezdaří.

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

Důležité

Po dokončení instalace nezapomeňte dokončit kroky po konfiguraci popsané v tomto článku. Mezi tyto kroky patří povolení použití externího kódu SQL Serveru a přidání účtů potřebných k tomu, aby SQL Server spouštěl kód Java vaším jménem. Změny konfigurace obecně vyžadují restartování instance nebo restartování služby Launchpad.

Java JRE nebo JDK

Poznámka:

Možnosti funkce a možnosti instalace se liší mezi verzemi SQL Serveru. Pomocí rozevíracího seznamu selektoru verzí zvolte odpovídající verzi SQL Serveru.

S SQL Serverem 2022 (16.x) si můžete stáhnout a nainstalovat jakýkoli modul runtime Java, včetně nejnovějšího buildu Microsoft Buildu OpenJDK nebo oficiálně licencovaného modulu Java Runtime.

Java 11 je aktuálně podporovaná verze ve Windows. Prostředí Java Runtime Environment (JRE) je minimálním požadavkem, ale Sada Java Development Kit (JDK) je užitečná, pokud potřebujete kompilátor Java a vývojové balíčky. Vzhledem k tomu, že sada JDK je all inclusive, není potřeba, pokud nainstalujete sadu JDK. Ve Windows doporučujeme nainstalovat sadu JDK do výchozí /Program Files/ složky, pokud je to možné. V opačném případě se k udělení oprávnění spustitelným souborům vyžaduje další konfigurace. Další informace najdete v části Udělení oprávnění (Windows) v tomto dokumentu.

Existují dva způsoby instalace a používání Javy s SQL Serverem 2019 (15.x) a novějšími verzemi:

  1. Použijte výchozí modul runtime Java, který je součástí instalace SQL Serveru.

    Následující tabulka uvádí výchozí verze Javy, které jsou součástí instalace:

    Verze SQL Serveru Výchozí verze Javy
    SQL Server 2019 (15.x) CU 23 a novější verze Microsoft Build openJDK 11.0.19
    SQL Server 2019 (15.x) RTM – CU22 Azul Zulu JRE 11.0.3
  2. Místo výchozího modulu runtime Java použijte upřednostňovanou distribuci Javy.

    Java 11 je aktuálně podporovaná verze ve Windows. Prostředí Java Runtime Environment (JRE) je minimálním požadavkem, ale Sada Java Development Kit (JDK) je užitečná, pokud potřebujete kompilátor Java a vývojové balíčky. Vzhledem k tomu, že sada JDK je all inclusive, není potřeba, pokud nainstalujete sadu JDK. Ve Windows doporučujeme nainstalovat sadu JDK do výchozí /Program Files/ složky, pokud je to možné. V opačném případě se k udělení oprávnění spustitelným souborům vyžaduje další konfigurace. Další informace najdete v části Udělení oprávnění (Windows) v tomto dokumentu.

Poznámka:

Vzhledem k tomu, že java je zpětně kompatibilní, starší verze můžou fungovat, ale podporovaná a otestovaná verze pro SQL Server 2019 (15.x) je Java 11.

Získání instalačního média

Umístění stahování pro SQL Server závisí na edici:

  • Edice SQL Server Enterprise, Standard a Express. Tyto edice jsou licencované pro produkční použití. V případě edicí Enterprise a Standard se obraťte na dodavatele softwaru pro instalační médium. Informace o nákupu a adresář partnerů Microsoftu najdete na nákupním webu Microsoftu.

  • Nejnovější bezplatná edice.

Spuštění instalace

Pro místní instalace musíte spustit instalační program jako správce. Pokud instalujete SQL Server ze vzdálené sdílené složky, musíte použít účet domény, který má oprávnění ke čtení a spouštění pro vzdálenou sdílenou složku.

  1. Spusťte průvodce instalací pro SQL Server.

  2. Na kartě Instalace vyberte Samostatná instalace Nového SQL Serveru nebo přidejte funkce do existující instalace.

  1. Na stránce Výběr funkcí vyberte tyto možnosti:

    Služby databázového stroje: Chcete-li používat jazyková rozšíření s SQL Serverem, musíte nainstalovat instanci databázového stroje. Můžete použít buď výchozí, nebo pojmenovanou instanci.

    Machine Learning Services a rozšíření jazyka: Tato možnost nainstaluje komponentu Language Extensions, která podporuje spouštění kódu Java.

    Snímek obrazovky s možnostmi funkce pro rozšíření jazyka

    1. Pokud v předchozím kroku zvolíte Javu pro instalaci výchozího modulu runtime Java, zobrazí se stránka Umístění instalace Java .

      Nainstalujte výchozí Javu, která je součástí této instalace. Možnost Zadat umístění jiné verze nainstalované v tomto počítači se nepoužívá pro jazyková rozšíření.

      Snímek obrazovky s umístěním instalace Javy

  1. Na stránce Výběr funkcí vyberte tyto možnosti:

    Služby databázového stroje: Chcete-li používat jazyková rozšíření s SQL Serverem, musíte nainstalovat instanci databázového stroje. Můžete použít buď výchozí, nebo pojmenovanou instanci.

    Machine Learning Services a rozšíření jazyka: Tato možnost nainstaluje komponentu Language Extensions, která podporuje spouštění kódu Java.

    Snímek obrazovky s funkcemi instance

  1. Na stránce Připraveno k instalaci ověřte, že jsou tyto možnosti zahrnuté, a vyberte Nainstalovat.

    • Služby databázového stroje
    • Machine Learning Services a rozšíření jazyka

    Poznamenejte si umístění složky pod cestou ..\Setup Bootstrap\Log , kam jsou uložené konfigurační soubory. Po dokončení instalace můžete zkontrolovat nainstalované součásti v souboru Souhrn.

  2. Po dokončení instalace, pokud máte pokyn k restartování počítače, udělejte to teď. Při dokončení instalace je důležité přečíst zprávu průvodce instalací. Další informace naleznete v tématu Zobrazení a čtení souborů protokolu instalace SYSTÉMU SQL Server.

Přidání proměnné JRE_HOME

JRE_HOME je systémová proměnná prostředí, která určuje umístění interpreta Jazyka Java. V tomto kroku vytvořte pro něj systémovou proměnnou prostředí ve Windows.

  1. Vyhledejte a zkopírujte domovskou cestu JRE.

    Například domovská cesta JRE pro výchozí modul runtime Java Zulu JRE 11.0.3 je %ProgramFiles%\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\AZUL-OpenJDK-JRE\.

    V závislosti na instalační cestě SQL Serveru nebo v případě, že jste zvolili jiný modul runtime Java, může se umístění sady JDK nebo JRE lišit od cesty v předchozím příkladu. I když máte nainstalovanou sadu JDK, často v rámci této instalace získáte podsložku JRE, takže v takovém případě nasměrujte na složku JRE. Rozšíření Java se pokusí načíst jvm.dll z cesty %JRE_HOME%\bin\server.

  1. Vyhledejte a zkopírujte domovskou cestu JRE.

    Tato cesta závisí na modulu runtime a možnostech instalace.

    Rozšíření Java se pokusí načíst jvm.dll z cesty %JRE_HOME%\bin\server.

  1. V Ovládacích panelech otevřete Systém a zabezpečení, otevřete Systém a vyberte Upřesnit vlastnosti systému.

  2. Vyberte proměnné prostředí.

  3. Vytvořte novou systémovou proměnnou JRE_HOME s hodnotou cesty JDK/JRE (nachází se v kroku 1).

  1. Restartujte Launchpad.

    1. Otevřete SQL Server Configuration Manager.

    2. V části Služby SQL Serveru klikněte pravým tlačítkem myši na launchpad SQL Serveru a vyberte Restartovat.

  1. Registrace jazykového rozšíření Podle těchto kroků stáhněte a zaregistrujte rozšíření jazyka Java, které se používá pro vlastní modul runtime Java.

    1. java-lang-extension-windows-release.zip Stáhněte si soubor z rozšíření jazyka Java pro úložiště SQL Server GitHub. Stáhněte si nejnovější soubor Windows java-lang-extension-windows.zip . Pokud jste nenainstalovali výchozí Javu z instalace SQL Serveru, ujistěte se, že verze JRE odpovídá verzi JRE staženou z GitHubu. Pokud raději používáte vlastní nainstalovanou verzi JRE, možná budete muset zkompilovat java-lang-extension zdrojový kód GitHubu.

    2. Pomocí nástroje Azure Data Studio se připojte k instanci SQL Serveru a spuštěním následujícího příkazu T-SQL zaregistrujte rozšíření jazyka Java v jazyce CREATE EXTERNAL LANGUAGE.

    3. Upravte cestu v tomto příkazu tak, aby odrážela umístění staženého souboru ZIP s příponou jazyka (java-lang-extension-windows-release.zip) a umístění vlastní instalace Javy (%ProgramFiles%\Python).

    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"}');
    GO
    
  2. Restartujte Launchpad.

    1. Otevřete SQL Server Configuration Manager.

    2. V části Služby SQL Serveru klikněte pravým tlačítkem myši na launchpad SQL Serveru a vyberte Restartovat.

Udělení přístupu k jiné než výchozí složce JRE

Pokud jste nenainstalovali výchozí Javu, která byla součástí SQL Serveru a nenainstalovala jazyk Java v části /Program Files, musíte provést následující kroky.

Pokud jste java nenainstalovali v programových souborech, musíte provést následující kroky.

Spuštěním příkazů icacls z řádku se zvýšenými oprávněními udělte přístup k účtům služby SQLRUsergroup a SQL Server (in ALL_APPLICATION_PACKAGES) pro přístup k JRE. Příkazy rekurzivně udělují přístup ke všem souborům a složkám v dané cestě k adresáři.

  1. Udělení oprávnění SQLRUserGroup

    Pro pojmenovanou instanci připojte název instance k SQLRUsergroup (například SQLRUsergroupINSTANCENAME).

    icacls "<PATH to JRE>" /grant "SQLRUsergroup":(OI)(CI)RX /T
    

    Tento krok můžete přeskočit, pokud jste nainstalovali sadu JDK/JRE do výchozí složky v programových souborech ve Windows.

  2. Udělení oprávnění AppContainer Tento příkaz uděluje oprávnění k identifikátoru SID S-1-15-2-1počítače , který je ekvivalentní ALL APPLICATION PACKAGES anglické verzi systému Windows. Alternativně můžete použít icacls "<PATH to JRE>" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T v anglické verzi Windows.

    icacls "<PATH to JRE>" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

Restartujte službu.

Po dokončení instalace restartujte databázový stroj a teprve potom pokračujte dalším krokem a povolte spuštění skriptu.

Restartování služby také automaticky restartuje související službu SQL Server Launchpad.

Službu můžete restartovat pomocí příkazu Restartovat pravým tlačítkem myši pro instanci v nástroji SSMS, pomocí panelu Služby v Ovládacích panelech nebo pomocí nástroje SQL Server Configuration Manager.

Povolení spouštění skriptů

  1. Otevřete SQL Server Management Studio. Připojte se k instanci, do které jste nainstalovali jazyková rozšíření, vyberte Nový dotaz , aby se otevřelo okno dotazu, a spusťte následující příkaz:

    EXECUTE sp_configure;
    

    Funkce je ve výchozím nastavení vypnutá (value je 0) a musí ji explicitně povolit správce, abyste mohli spustit kód Java.

  2. Pokud chcete povolit funkci externího skriptování, spusťte následující příkaz:

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE WITH OVERRIDE;
    GO
    

    Pokud jste už tuto funkci povolili pro Machine Learning Services, znovu nekonfigurujte rozšíření jazyka. Základní platforma rozšiřitelnosti podporuje obojí.

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

CREATE EXTERNAL LANGUAGE Java
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO

Další informace naleznete v tématu VYTVOŘENÍ EXTERNÍHO JAZYKA.

Ověření instalace

Zkontrolujte stav instalace instance v protokolech instalace.

Pomocí následujícího postupu ověřte, že jsou spuštěné všechny komponenty použité ke spuštění externího skriptu.

  1. V aplikaci SQL Server Management Studio nebo Azure Data Studio otevřete nové okno dotazu a spusťte následující příkaz:

    EXECUTE sp_configure 'external scripts enabled';
    

    Teď run_value je nastavená na hodnotu 1.

  2. Otevřete panel Služby nebo SQL Server Configuration Manager a ověřte, že je spuštěná služba Launchpad SYSTÉMU SQL Server . Pro každou instanci databázového stroje s nainstalovanými jazykovými rozšířeními byste měli mít jednu službu. Další informace o službě naleznete v tématu Architektura rozšiřitelnosti v sql Server Language Extensions.

Další konfigurace

Pokud byl krok ověření úspěšný, můžete spustit Java Code z aplikace SQL Server Management Studio, Azure Data Studio, Visual Studio Code nebo jakéhokoli jiného klienta, který může odesílat příkazy T-SQL na server.

Pokud při spuštění příkazu dojde k chybě, projděte si další kroky konfigurace v této části. Možná budete muset provést další vhodné konfigurace pro službu nebo databázi.

Na úrovni instance může další konfigurace zahrnovat:

V databázi možná budete potřebovat následující aktualizace konfigurace:

Poznámka:

Jestli se vyžaduje další konfigurace, závisí na schématu zabezpečení, na kterém jste nainstalovali SQL Server, a na tom, jak očekáváte, že se uživatelé budou připojovat k databázi a spouštět externí skripty.

Navrhované optimalizace

Teď, když máte všechno funkční, můžete také chtít optimalizovat server tak, aby podporoval rozšíření jazyka Java.

Optimalizace serveru pro rozšíření jazyka Java

Výchozí nastavení pro nastavení SQL Serveru jsou určená k optimalizaci rovnováhy serveru pro různé služby podporované databázovým strojem, které můžou zahrnovat procesy extrakce, transformace a načítání (ETL), generování sestav, auditování a aplikace, které používají data SQL Serveru. Proto v rámci výchozího nastavení můžete zjistit, že prostředky pro jazyková rozšíření jsou někdy omezené nebo omezené, zejména v operacích náročných na paměť.

Pokud chcete zajistit, aby úlohy rozšíření jazyka byly správně seřazené podle priority a prostředky, doporučujeme ke konfiguraci externího fondu zdrojů použít správce prostředků SQL Serveru. Můžete také změnit množství paměti přidělené databázovému stroji nebo zvýšit počet účtů, které běží ve službě SQL Server Launchpad.

Pokud používáte edici Standard a nemáte správce prostředků, můžete použít zobrazení dynamické správy (DMV) a rozšířené události a také monitorování událostí windows, které vám pomůžou spravovat prostředky serveru.

Další krok

Vývojáři v Javě můžou začít s některými jednoduchými příklady a seznámit se se základy fungování Javy s SQL Serverem. Další krok najdete na následujícím odkazu: