Share via


SQL Server .NET Language Extension installeren in Windows

Van toepassing op: SQL Server 2019 (15.x) en latere versies

Meer informatie over het installeren van het .NET Language Extension-onderdeel (gebruikt door C#) voor SQL Server in Windows. De .NET-taalextensie maakt deel uit van SQL Server Language Extensions.

Opmerking

Dit artikel is bedoeld voor de installatie van .NET Language Extension voor SQL Server in Windows. Linux wordt niet ondersteund.

Vereiste voorwaarden

Opmerking

Functiemogelijkheden en installatieopties verschillen per versie van SQL Server. Gebruik de vervolgkeuzelijst versieselector om de juiste versie van SQL Server te kiezen.

  • Sql Server Setup is vereist als u ondersteuning wilt installeren voor de .NET-taalextensie.

  • De .NET Language Extension ondersteunt .NET 6 en latere runtimes en wordt alleen ondersteund in Windows.

  • Een database-engine-exemplaar is vereist. U kunt niet alleen de functies van de .NET-taalextensie installeren, maar u kunt ze incrementeel toevoegen aan een bestaand exemplaar.

  • Voor bedrijfscontinuïteit worden AlwaysOn-beschikbaarheidsgroepen ondersteund voor taalextensies. U moet taalextensies installeren en pakketten configureren op elk knooppunt. Het installeren van de .NET-taalextensie wordt ook ondersteund op een failoverclusterexemplaren in SQL Server.

  • Installeer geen SQL Server Language Extensions of de .NET Language Extension op een domeincontroller. Het gedeelte Taalextensies van de installatie mislukt.

  • Taalextensies en Machine Learning Services worden standaard geïnstalleerd op SQL Server Big Data-clusters. Als u Big Data-clusters gebruikt, hoeft u de stappen in dit artikel niet te volgen. Zie Python- en R-scripts uitvoeren met Machine Learning Services op SQL Server 2019 Big Data-clusters voor meer informatie.

Belangrijk

Nadat de installatie is voltooid, moet u de stappen na de configuratie voltooien die in dit artikel worden beschreven. Deze stappen omvatten het inschakelen van SQL Server voor het gebruik van externe code en het toevoegen van accounts die vereist zijn voor SQL Server om C#-code namens u uit te voeren. Voor configuratiewijzigingen is over het algemeen een herstart van het exemplaar of een herstart van de Launchpad-service vereist.

.NET-runtime

.NET 6 langetermijnondersteuning (LTS) is de vroegste ondersteunde runtime. U kunt de .NET-runtime voor Windows downloaden. Linux wordt niet ondersteund.

Als u de nieuwste LTS-release van de .NET-runtime wilt gebruiken, moet u de .NET-taalextensie opnieuw compileren.

De installatiemedia ophalen

De downloadlocatie voor SQL Server is afhankelijk van de editie:

  • SQL Server Enterprise-, Standard- en Express-edities. Deze edities zijn gelicentieerd voor productiegebruik. Neem voor de Enterprise- en Standard-edities contact op met uw softwareleverancier voor de installatiemedia. U vindt aankoopgegevens en een adreslijst van Microsoft-partners op de microsoft-aankoopwebsite.

  • De nieuwste gratis editie.

Setup uitvoeren

Voor lokale installaties moet u Setup uitvoeren als beheerder. Als u SQL Server installeert vanaf een externe share, moet u een domeinaccount met lees- en uitvoermachtigingen voor de externe share gebruiken.

  1. Start de installatiewizard voor SQL Server.

  2. Selecteer op het tabblad Installatiede optie Nieuwe zelfstandige installatie van SQL Server of voeg functies toe aan een bestaande installatie.

  3. Selecteer deze opties op de pagina Functieselectie :

    Database Engine Services: Als u taalextensies wilt gebruiken met SQL Server, moet u een exemplaar van de database-engine installeren. U kunt een standaard- of een benoemd exemplaar gebruiken.

    Machine Learning Services en taalextensies: met deze optie wordt het onderdeel Language Extensions geïnstalleerd dat ondersteuning biedt voor het uitvoeren van C#-code.

    Schermopname van exemplaarfuncties.

  4. Controleer op de pagina Gereed om te installeren of deze selecties zijn opgenomen en selecteer Installeren.

    • Database-Enginediensten
    • Machine Learning Services en taalextensies

    Noteer de locatie van de map onder het pad ..\Setup Bootstrap\Log waar de configuratiebestanden zijn opgeslagen. Wanneer de installatie is voltooid, kunt u de geïnstalleerde onderdelen in het samenvattingsbestand bekijken.

  5. Nadat de installatie is voltooid, doet u dit nu als u wordt gevraagd de computer opnieuw op te starten. Het is belangrijk om het bericht van de installatiewizard te lezen wanneer u klaar bent met Setup. Zie Logboekbestanden voor HET instellen van SQL Server weergeven en lezen voor meer informatie.

De taalextensie registreren

  1. Volg deze stappen om de .NET-taalextensie te downloaden en te registreren, die wordt gebruikt voor het uitvoeren van C#-code.

    1. Download het dotnet-core-CSharp-lang-extension-windows-release.zip bestand uit de .NET-taalextensie voor sql Server GitHub-opslagplaats. Download het meest recente Windows-bestand dotnet-core-CSharp-lang-extension-windows-release.zip . Als u liever een nieuwere .NET-runtime gebruikt, moet u compileren dotnet-core-CSharp-lang-extension vanuit GitHub-broncode.

    2. Gebruik SQL Server Management Studio (SSMS) om verbinding te maken met uw SQL Server-exemplaar en voer de volgende Transact-SQL (T-SQL)-opdracht uit om de .NET-taalextensie te registreren bij CREATE EXTERNAL LANGUAGE.

    3. Wijzig het pad in deze instructie om de locatie van het zip-bestand met de gedownloade taalextensie (dotnet-core-CSharp-lang-extension-windows-release.zip) weer te geven.

    CREATE EXTERNAL LANGUAGE [dotnet]
    FROM (CONTENT = N'C:\path\to\dotnet-core-CSharp-lang-extension-windows-release.zip',
        FILE_NAME = 'dotnetextension.dll');
    GO
    
  2. Start Launchpad opnieuw op.

    1. Open SQL Server Configuration Manager.

    2. Klik onder SQL Server Services met de rechtermuisknop op SQL Server Launchpad en selecteer Opnieuw opstarten.

Start de service opnieuw op

Wanneer de installatie is voltooid, start u de database-engine opnieuw op voordat u doorgaat met de volgende stap, waardoor scriptuitvoering wordt ingeschakeld.

Als u de service opnieuw start, wordt de gerelateerde SQL Server Launchpad-service ook automatisch opnieuw opgestart.

U kunt de service opnieuw opstarten met de rechtermuisknop op De opdracht Opnieuw opstarten voor het exemplaar in SSMS, met het deelvenster Services in het Configuratiescherm of met behulp van SQL Server Configuration Manager.

Scriptuitvoering inschakelen

  1. Open SQL Server Management Studio. Maak verbinding met het exemplaar waarin u Taalextensies hebt geïnstalleerd, selecteer Nieuwe query om een queryvenster te openen en voer de volgende opdracht uit:

    EXECUTE sp_configure;
    

    De functie is standaard uitgeschakeld (value is 0) en moet expliciet worden ingeschakeld door een beheerder voordat u C#-code kunt uitvoeren.

  2. Voer de volgende instructie uit om de externe scriptfunctie in te schakelen:

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

    Als u de functie voor Machine Learning Services al hebt ingeschakeld, moet u de configuratie niet opnieuw uitvoeren voor taalextensies. Het onderliggende uitbreidbaarheidsplatform ondersteunt beide.

Externe taal registreren

Voor elke database waarin u taalextensies wilt gebruiken, moet u de externe taal registreren bij CREATE EXTERNAL LANGUAGE.

In het volgende voorbeeld wordt een externe taal aangeroepen dotnet aan een database in SQL Server in Windows toegevoegd.

CREATE EXTERNAL LANGUAGE [dotnet]
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'dotnetextension.dll');
GO

Zie CREATE EXTERNAL LANGUAGE voor meer informatie.

Installatie controleren

Controleer de installatiestatus van het exemplaar in de installatielogboeken.

Gebruik de volgende stappen om te controleren of alle onderdelen die worden gebruikt voor het starten van een extern script worden uitgevoerd.

  1. Open in SQL Server Management Studio of Azure Data Studio een nieuw queryvenster en voer de volgende instructie uit:

    EXECUTE sp_configure 'external scripts enabled';
    

    De run_value is nu ingesteld op 1.

  2. Open het deelvenster Services of SQL Server Configuration Manager en controleer of de SQL Server Launchpad-service wordt uitgevoerd. U moet één service hebben voor elk Database Engine-exemplaar waarop taalextensies zijn geïnstalleerd. Zie De architectuur voor uitbreidbaarheid in SQL Server Language Extensions voor meer informatie over de service.

Aanvullende configuratie

Als de verificatiestap is geslaagd, kunt u C#-code uitvoeren vanuit SQL Server Management Studio, Azure Data Studio, Visual Studio Code of een andere client die T-SQL-instructies naar de server kan verzenden.

Als er een fout optreedt bij het uitvoeren van de opdracht, raadpleegt u de aanvullende configuratiestappen in deze sectie. Mogelijk moet u extra geschikte configuraties aanbrengen voor de service of database.

Op exemplaarniveau kan extra configuratie het volgende omvatten:

In de database hebt u mogelijk de volgende configuratie-updates nodig:

Opmerking

Of extra configuratie vereist is, is afhankelijk van uw beveiligingsschema, waar u SQL Server hebt geïnstalleerd en hoe u verwacht dat gebruikers verbinding maken met de database en externe scripts uitvoeren.

Voorgestelde optimalisaties

Nu alles werkt, kunt u ook de server optimaliseren voor de ondersteuning van .NET Language Extension.

De server optimaliseren voor .NET Language Extension

De standaardinstellingen voor het instellen van SQL Server zijn bedoeld om de balans van de server te optimaliseren voor verschillende services die worden ondersteund door de Database Engine, waaronder ETL-processen (extract, transform, and load), rapportage, controle en toepassingen die gebruikmaken van SQL Server-gegevens. Daarom kunt u onder de standaardinstellingen merken dat resources voor taalextensies soms worden beperkt of beperkt, met name bij geheugenintensieve bewerkingen.

Om ervoor te zorgen dat taken voor taalextensies prioriteit krijgen en op de juiste wijze worden geresourceeerd, raden we u aan SQL Server Resource Governor te gebruiken om een externe resourcegroep te configureren. U kunt ook de hoeveelheid geheugen wijzigen die is toegewezen aan de database-engine of het aantal accounts verhogen dat wordt uitgevoerd onder de SQL Server Launchpad-service.

Als u de Standard-editie gebruikt en geen Resource Governor hebt, kunt u dynamische beheerweergaven (DMV's) en uitgebreide gebeurtenissen, evenals bewaking van Windows-gebeurtenissen, gebruiken om de serverresources te beheren.

Volgende stap

C#-ontwikkelaars kunnen aan de slag met enkele eenvoudige voorbeelden en de basisbeginselen leren van de werking van C# met SQL Server. Zie de volgende koppeling voor de volgende stap: