Dela via


Installera JAVA-språktillägget för SQL Server i Windows

Gäller för: SQL Server 2019 (15.x) och senare versioner

Lär dig hur du installerar Java Language Extension-komponenten för SQL Server i Windows. Java Language Extension är en del av SQL Server Language Extensions.

Anmärkning

Den här artikeln är avsedd för installation av Java Language Extension för SQL Server i Windows. För Linux, se Installera SQL Server Java Language Extension på Linux. Språktillägget C# i Windows finns i Installera SQL Server .NET Language Extension i Windows.

Förutsättningar

Anmärkning

Funktionsfunktioner och installationsalternativ varierar mellan versioner av SQL Server. Använd listrutan versionsväljare för att välja lämplig version av SQL Server.

  • SQL Server-installationsprogrammet krävs om du vill installera stöd för Java Language Extension.

  • Du kan ladda ned och installera valfri Java-körning efter behov, inklusive den senaste Microsoft Build of OpenJDK eller officiellt licensierad Java-körning. I SQL Server 2022 (16.x) och senare versioner installeras inte Java-körningen av SQL Server-installationsprogrammet.

  • En databasmotorinstans krävs. Du kan inte bara installera funktionerna i Java Language Extension, men du kan lägga till dem stegvis i en befintlig instans.

  • För affärskontinuitet stöds AlwaysOn-tillgänglighetsgrupper för språktillägg. Du måste installera språktillägg och konfigurera paket på varje nod. Installation av Java Language Extension stöds också på en redundansklusterinstans i SQL Server.

  • Installera inte SQL Server Language Extensions eller Java Language Extension på en domänkontrollant. Språktilläggsdelen av installationen misslyckas.

  • Språktillägg och Machine Learning Services installeras som standard på SQL Server-stordatakluster. Om du använder stordatakluster behöver du inte följa stegen i den här artikeln. Mer information finns i Köra Python- och R-skript med Machine Learning Services på SQL Server 2019 Big Data Clusters.

Viktigt!

När installationen är klar måste du slutföra stegen efter konfigurationen som beskrivs i den här artikeln. De här stegen omfattar att göra det möjligt för SQL Server att använda extern kod och lägga till konton som krävs för att SQL Server ska kunna köra Java-kod åt dig. Konfigurationsändringar kräver vanligtvis en omstart av instansen eller en omstart av Launchpad-tjänsten.

Java JRE eller JDK

Anmärkning

Funktionsfunktioner och installationsalternativ varierar mellan versioner av SQL Server. Använd listrutan versionsväljare för att välja lämplig version av SQL Server.

Med SQL Server 2022 (16.x) kan du ladda ned och installera valfri Java-körning, inklusive den senaste Microsoft Build of OpenJDK eller officiellt licensierad Java-körning.

Java 11 är för närvarande den version som stöds i Windows. Java Runtime Environment (JRE) är minimikravet, men Java Development Kit (JDK) är användbart om du behöver Java-kompilator- och utvecklingspaketen. Eftersom JDK:t är helt inkluderande är JRE inte nödvändigt om du installerar JDK:t. I Windows rekommenderar vi att du installerar JDK under standardmappen /Program Files/ om möjligt. I annat fall krävs extra konfiguration för att bevilja behörigheter till körbara filer. Mer information finns i avsnittet bevilja behörigheter (Windows) i det här dokumentet.

Det finns två sätt att installera och använda Java med SQL Server 2019 (15.x) och senare versioner:

  1. Använd java-standardkörningen, som ingår i SQL Server-installationen.

    I följande tabell visas de standardversioner av Java som ingår i installationen:

    SQL Server-version Java-standardversion
    SQL Server 2019 (15.x) CU 23 och senare versioner Microsoft Build of OpenJDK 11.0.19
    SQL Server 2019 (15.x) RTM – CU22 Azul Zulu JRE 11.0.3
  2. Använd önskad Java-distribution i stället för java-standardkörningen.

    Java 11 är för närvarande den version som stöds i Windows. Java Runtime Environment (JRE) är minimikravet, men Java Development Kit (JDK) är användbart om du behöver Java-kompilator- och utvecklingspaketen. Eftersom JDK:t är helt inkluderande är JRE inte nödvändigt om du installerar JDK:t. I Windows rekommenderar vi att du installerar JDK under standardmappen /Program Files/ om möjligt. I annat fall krävs extra konfiguration för att bevilja behörigheter till körbara filer. Mer information finns i avsnittet bevilja behörigheter (Windows) i det här dokumentet.

Anmärkning

Med tanke på att Java är bakåtkompatibelt kan tidigare versioner fungera, men den version som stöds och testas för SQL Server 2019 (15.x) är Java 11.

Hämta installationsmediet

Nedladdningsplatsen för SQL Server beror på utgåvan:

  • SQL Server Enterprise-, Standard- och Express-utgåvor. Dessa utgåvor är licensierade för produktionsanvändning. För Enterprise- och Standard-utgåvorna kontaktar du programvaruleverantören för installationsmediet. Du hittar inköpsinformation och en katalog med Microsoft-partner på Microsofts inköpswebbplats.

  • Den senaste kostnadsfria utgåvan.

Kör installationsprogrammet

För lokala installationer måste du köra installationsprogrammet som administratör. Om du installerar SQL Server från en fjärrresurs måste du använda ett domänkonto som har läs- och körningsbehörighet på fjärrresursen.

  1. Starta installationsguiden för SQL Server.

  2. På fliken Installation väljer du Ny fristående SQL Server-installation eller lägger till funktioner i en befintlig installation.

  1. Välj följande alternativ på sidan Funktionsval :

    Database Engine Services: Om du vill använda språktillägg med SQL Server måste du installera en instans av databasmotorn. Du kan använda antingen en standardinstans eller en namngiven instans.

    Machine Learning Services och språktillägg: Det här alternativet installerar komponenten Språktillägg som stöder Java-kodkörning.

    • Om du vill installera java-standardkörningen väljer du både Machine Learning Services och Language Extensions och Java.

    • Om du vill använda din egen Java-körning väljer du Machine Learning Services och Språktillägg. Välj inte Java.

    • Om du vill använda R och Python kan du läsa Installera SQL Server Machine Learning Services (Python och R) i Windows.

    Skärmbild av funktionsalternativen för språktillägg.

    1. Om du väljer Java i föregående steg för att installera java-standardkörningen visas sidan Plats för Java-installation .

      Installera standard-Java som ingår i den här installationen. Alternativet Att ange platsen för en annan version som har installerats på den här datorn används inte för språktillägg.

      Skärmbild av javainstallationsplatsen.

  1. Välj följande alternativ på sidan Funktionsval :

    Database Engine Services: Om du vill använda språktillägg med SQL Server måste du installera en instans av databasmotorn. Du kan använda antingen en standardinstans eller en namngiven instans.

    Machine Learning Services och språktillägg: Det här alternativet installerar komponenten Språktillägg som stöder Java-kodkörning.

    Skärmbild av instansfunktioner.

  1. På sidan Klar att installera kontrollerar du att de här valen ingår och väljer Installera.

    • Databasmotortjänster
    • Maskininlärningstjänster och språktillägg

    Observera platsen för mappen under sökvägen ..\Setup Bootstrap\Log där konfigurationsfilerna lagras. När installationen är klar kan du granska de installerade komponenterna i sammanfattningsfilen.

  2. När installationen är klar gör du det nu om du uppmanas att starta om datorn. Det är viktigt att läsa meddelandet från installationsguiden när du är klar med installationen. Mer information finns i Visa och läsa sql Server-installationsloggfiler.

Lägg till variabeln JRE_HOME

JRE_HOME är en systemmiljövariabel som anger platsen för Java-tolken. I det här steget skapar du en systemmiljövariabel för den i Windows.

  1. Hitta och kopiera JRE-hemsökvägen.

    JrE-hemsökvägen för java-standardkörningen Zulu JRE 11.0.3 är %ProgramFiles%\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\AZUL-OpenJDK-JRE\till exempel .

    Beroende på din SQL Server-installationssökväg eller om du väljer en annan Java-körning kan din plats för JDK eller JRE skilja sig från sökvägen i föregående exempel. Även om du har en JDK installerad får du ofta en JRE-undermapp som en del av installationen, så peka på JRE-mappen i så fall. Java-tillägget försöker läsa in jvm.dll från sökvägen %JRE_HOME%\bin\server.

  1. Hitta och kopiera JRE-hemsökvägen.

    Den här sökvägen beror på körningen och installationsalternativen.

    Java-tillägget försöker läsa in jvm.dll från sökvägen %JRE_HOME%\bin\server.

  1. Öppna System och säkerhet på Kontrollpanelen, öppna System och välj Avancerade systemegenskaper.

  2. Välj Miljövariabler.

  3. Skapa en ny systemvariabel för med värdet för JRE_HOME JDK/JRE-sökvägen (finns i steg 1).

  1. Starta om Launchpad.

    1. Öppna SQL Server Configuration Manager.

    2. Under SQL Server Services högerklickar du på SQL Server Launchpad och väljer Starta om.

  1. Registrera språktillägg. Följ de här stegen för att ladda ned och registrera Java-språktillägget, som används för anpassad Java-körning.

    1. java-lang-extension-windows-release.zip Ladda ned filen från Java-språktillägget för SQL Server GitHub-lagringsplatsen. Ladda ned den senaste Windows-filen java-lang-extension-windows.zip . Om du inte har installerat Standard-Java från SQL Server-installationsprogrammet kontrollerar du att JRE-versionen matchar den som laddas ned från GitHub. Om du föredrar att använda din egen installerade JRE-version kan du behöva kompilera java-lang-extension från GitHub-källkoden.

    2. Använd Azure Data Studio för att ansluta till din SQL Server-instans och kör följande T-SQL-kommando för att registrera Java-språktillägget med CREATE EXTERNAL LANGUAGE.

    3. Ändra sökvägen i den här instruktionen så att den återspeglar platsen för zip-filen för det nedladdade språktillägget (java-lang-extension-windows-release.zip) och platsen för din anpassade Java-installation (%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. Starta om Launchpad.

    1. Öppna SQL Server Configuration Manager.

    2. Under SQL Server Services högerklickar du på SQL Server Launchpad och väljer Starta om.

Bevilja åtkomst till jre-mappen som inte är standard

Om du inte installerade standard-Java som ingick i SQL Server och inte installerade Java under /Program Filesmåste du utföra följande steg.

Om du inte har installerat Java under programfiler måste du utföra följande steg.

Kör icacls-kommandona från en upphöjd rad för att ge åtkomst till SQLRUsergroup - och SQL Server-tjänstkontona (i ALL_APPLICATION_PACKAGES) för åtkomst till JRE. Kommandona ger rekursivt åtkomst till alla filer och mappar under den angivna katalogsökvägen.

  1. Ge SQLRUserGroup behörigheter

    För en namngiven instans lägger du till instansnamnet i SQLRUsergroup (till exempel SQLRUsergroupINSTANCENAME).

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

    Du kan hoppa över det här steget om du har installerat JDK/JRE i standardmappen under programfiler i Windows.

  2. Ge AppContainer behörigheter. Det här kommandot ger behörighet till datorns SID S-1-15-2-1, vilket motsvarar ALL APPLICATION PACKAGES i en engelsk version av Windows. Du kan också använda icacls "<PATH to JRE>" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T på en engelsk version av Windows.

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

Starta om tjänsten

När installationen är klar startar du om databasmotorn innan du fortsätter till nästa steg, vilket aktiverar skriptkörning.

Om du startar om tjänsten startas även den relaterade SQL Server Launchpad-tjänsten om automatiskt.

Du kan starta om tjänsten med kommandot Starta om för instansen i SSMS, med panelen Tjänster i Kontrollpanelen eller med hjälp av SQL Server Configuration Manager.

Aktivera skriptkörning

  1. Öppna SQL Server Management Studio. Anslut till den instans där du installerade Språktillägg, välj Ny fråga för att öppna ett frågefönster och kör följande kommando:

    EXECUTE sp_configure;
    

    Funktionen är inaktiverad (value är 0) som standard och måste uttryckligen aktiveras av en administratör innan du kan köra Java-kod.

  2. Om du vill aktivera den externa skriptfunktionen kör du följande instruktion:

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

    Om du redan har aktiverat funktionen för Machine Learning Services kör du inte omkonfigurera en andra gång för Språktillägg. Den underliggande utökningsplattformen stöder båda.

Registrera externt språk

För varje databas som du vill använda språktillägg i måste du registrera det externa språket med SKAPA EXTERNT SPRÅK.

I följande exempel läggs ett externt språk med namnet Java till en databas på SQL Server i Windows.

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

Mer information finns i SKAPA EXTERNT SPRÅK.

Verifiera installationen

Kontrollera installationsstatusen för instansen i installationsloggarna.

Använd följande steg för att kontrollera att alla komponenter som används för att starta ett externt skript körs.

  1. I SQL Server Management Studio eller Azure Data Studio öppnar du ett nytt frågefönster och kör följande instruktion:

    EXECUTE sp_configure 'external scripts enabled';
    

    run_value Är nu inställd på 1.

  2. Öppna panelen Tjänster eller SQL Server Configuration Manager och kontrollera att SQL Server Launchpad-tjänsten körs. Du bör ha en tjänst för varje databasmotorinstans som har språktillägg installerade. Mer information om tjänsten finns i Utökningsarkitektur i SQL Server Language Extensions.

Ytterligare konfiguration

Om verifieringssteget lyckades kan du köra Java Code från SQL Server Management Studio, Azure Data Studio, Visual Studio Code eller någon annan klient som kan skicka T-SQL-instruktioner till servern.

Om du får ett fel när du kör kommandot kan du läsa de ytterligare konfigurationsstegen i det här avsnittet. Du kan behöva göra extra lämpliga konfigurationer för tjänsten eller databasen.

På instansnivå kan extra konfiguration omfatta:

I databasen kan du behöva följande konfigurationsuppdateringar:

Anmärkning

Om ytterligare konfiguration krävs beror på ditt säkerhetsschema, var du installerade SQL Server och hur du förväntar dig att användarna ska ansluta till databasen och köra externa skript.

Föreslagna optimeringar

Nu när allt fungerar kanske du också vill optimera servern för att stödja Java Language Extension.

Optimera servern för Java Language Extension

Standardinställningarna för SQL Server-konfigurationen är avsedda att optimera serverns balans för en mängd olika tjänster som stöds av databasmotorn, vilket kan omfatta processer för att extrahera, transformera och läsa in (ETL), rapportering, granskning och program som använder SQL Server-data. Under standardinställningarna kan det därför hända att resurser för språktillägg ibland begränsas eller begränsas, särskilt i minnesintensiva åtgärder.

Vi rekommenderar att du använder SQL Server Resource Governor för att konfigurera en extern resurspool för att säkerställa att språktilläggsjobben prioriteras och resursas på rätt sätt. Du kanske också vill ändra mängden minne som allokeras till databasmotorn eller öka antalet konton som körs under SQL Server Launchpad-tjänsten.

Om du använder Standard Edition och inte har Resource Governor kan du använda dynamiska hanteringsvyer (DMV:er) och utökade händelser samt Windows-händelseövervakning för att hantera serverresurserna.

Nästa steg

Java-utvecklare kan komma igång med några enkla exempel och lära sig grunderna i hur Java fungerar med SQL Server. För nästa steg, se följande länk: