Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op: SQL Server 2016 (13.x),
SQL Server 2017 (14.x) en
SQL Server 2019 (15.x)
In dit artikel wordt beschreven hoe u SQL Server Machine Learning Services installeert in Windows. U kunt Machine Learning Services gebruiken om Python- en R-scripts in de database uit te voeren.
Belangrijk
Deze instructies zijn van toepassing op SQL Server 2016 (13.x), SQL Server 2017 (14.x) en SQL Server 2019 (15.x). Voor SQL Server 2022 (16.x) raadpleegt u SQL Server 2022 Machine Learning Services installeren in Windows.
Controlelijst voor vooraf installeren
Er is een exemplaar van een database-engine vereist. U kunt niet alleen Python- of R-functies installeren, maar u kunt ze incrementeel toevoegen aan een bestaand zelfstandig exemplaar.
Voor bedrijfscontinuïteit worden AlwaysOn-beschikbaarheidsgroepen ondersteund voor Machine Learning Services. Installeer Machine Learning Services en configureer pakketten op elk knooppunt.
Het installeren van Machine Learning Services wordt niet ondersteund op een Always On-failoverclusterexemplaar in SQL Server 2017. Het wordt ondersteund met SQL Server 2019 en hoger. U moet Machine Learning Services installeren tijdens de installatie, en functies kunnen niet worden toegevoegd aan een bestaand failoverclusterexemplaar nadat de services zijn geïnstalleerd.
Installeer Machine Learning Services niet op een domeincontroller. Het gedeelte van de installatie van Machine Learning Services mislukt.
Installeer gedeelde onderdelen> nietMachine Learning Server (zelfstandig) op dezelfde computer waarop een database-exemplaar wordt uitgevoerd. Een zelfstandige server concurreert voor dezelfde resources en vermindert de prestaties van beide installaties.
De installatie naast elkaar met andere versies van Python en R wordt ondersteund, maar dit wordt niet aanbevolen. Dit wordt ondersteund omdat het SQL Server-exemplaar eigen kopieën van de opensource R- en Anaconda-distributies gebruikt. Het wordt niet aanbevolen omdat het uitvoeren van code die Gebruikmaakt van Python en R op een computer buiten SQL Server, kan leiden tot problemen:
- Als u een andere bibliotheek en verschillende uitvoerbare bestanden gebruikt, worden resultaten gemaakt die inconsistent zijn met wat u uitvoert in SQL Server.
- SQL Server kan geen R- en Python-scripts beheren die worden uitgevoerd in externe bibliotheken, wat leidt tot conflicten tussen resources.
Opmerking
Machine Learning Services is standaard geïnstalleerd op BIG Data-clusters van SQL Server. U hoeft de stappen in dit artikel niet te volgen als u een Big Data-cluster gebruikt. Zie Machine Learning Services (Python en R) gebruiken voor big data-clusters voor meer informatie.
Belangrijk
Nadat u de installatie hebt 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 scripts en het toevoegen van accounts die vereist zijn voor het uitvoeren van R- en Python-taken namens SQL Server. Voor configuratiewijzigingen is over het algemeen een herstart van het exemplaar of een herstart van de Launchpad-service vereist.
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.
Zie Edities en ondersteunde functies van SQL Server 2017 voor meer informatie over welke SQL Server-edities Python- en R-integratie met Machine Learning Services ondersteunen.
Zie Edities en ondersteunde functies van SQL Server 2019 voor meer informatie over welke SQL Server-edities Python- en R-integratie met Machine Learning Services ondersteunen.
Setup uitvoeren
Voor lokale installaties moet u de installatie 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.
Start de installatiewizard voor SQL Server.
Selecteer op het tabblad Installatiede optie Nieuwe zelfstandige installatie van SQL Server of voeg functies toe aan een bestaande installatie.
Selecteer deze opties op de pagina Functieselectie :
Database Engine Services
Als u R en Python wilt gebruiken met SQL Server, moet u een exemplaar van de database-engine installeren. U kunt een standaardexemplaar of een benoemd exemplaar gebruiken.
Machine Learning Services (In-Database)
Met deze optie worden de databaseservices geïnstalleerd die ondersteuning bieden voor R- en Python-scriptuitvoering.
Database Engine Services
Als u R of Python wilt gebruiken met SQL Server, moet u een exemplaar van de database-engine installeren. U kunt een standaardeenheid of een genaamde eenheid gebruiken.
Machine Learning Services en taalextensie
Met deze optie worden de databaseservices geïnstalleerd die ondersteuning bieden voor R- en Python-scriptuitvoering.
R
Selecteer deze optie om de Microsoft R-pakketten, interpreters en opensource R toe te voegen.
Python
Selecteer deze optie om de Microsoft Python-pakketten, het uitvoerbare python 3.5-bestand toe te voegen en bibliotheken te selecteren in de Anaconda-distributie.
Zie Sql Server Java Language Extension installeren in Windows voor meer informatie over het installeren en gebruiken van Java.
Opmerking
Selecteer niet de optie Machine Learning Server (zelfstandig) onder Gedeelde functies. Deze optie is bedoeld voor gebruik op een afzonderlijke computer.
Selecteer Accepteren> en Volgende op de Toestemming voor het installeren van Microsoft R Open pagina.
In de gebruiksrechtovereenkomst wordt het volgende behandeld:
- Microsoft R Open.
- Opensource R-basispakketten en -hulpprogramma's.
- Verbeterde R-pakketten en connectiviteitsproviders van het Microsoft-ontwikkelteam.
Selecteer Volgende accepteren op de pagina >. De opensource-licentieovereenkomst voor Python omvat ook Anaconda en gerelateerde hulpprogramma's, plus enkele nieuwe Python-bibliotheken van het Microsoft-ontwikkelteam.
Opmerking
Als de computer die u gebruikt geen internettoegang heeft, kunt u de installatie op dit moment onderbreken om de installatieprogramma's afzonderlijk te downloaden. Zie Machine Learning-onderdelen installeren zonder internettoegang voor meer informatie.
Controleer op de pagina Gereed om te installeren of deze selecties zijn opgenomen en selecteer vervolgens Installeren:
- Database-Enginediensten
- Machine Learning Services (in-database)
- R, Python of beide
Noteer de locatie van de map onder het pad
..\Setup Bootstrap\Logwaar de configuratiebestanden zijn opgeslagen. Wanneer de installatie is voltooid, kunt u de geïnstalleerde onderdelen in het overzichtsbestand bekijken.Nadat de installatie is voltooid, doet u dit 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 instellen. Zie Logboekbestanden voor HET instellen van SQL Server weergeven en lezen voor meer informatie.
Klik op de pagina Toestemming voor het installeren van Microsoft R Open op Accepteren en vervolgens op Volgende. Deze licentieovereenkomst heeft betrekking op Microsoft R Open, waaronder een distributie van de opensource R-basispakketten en -hulpprogramma's. Het omvat ook verbeterde R-pakketten en connectiviteitsproviders van het Microsoft-ontwikkelteam.
Selecteer Volgende accepteren op de pagina >. De opensource-licentieovereenkomst voor Python omvat ook Anaconda en gerelateerde hulpprogramma's, plus enkele nieuwe Python-bibliotheken van het Microsoft-ontwikkelteam.
Controleer op de pagina Gereed om te installeren of deze selecties zijn opgenomen en selecteer vervolgens Installeren:
- Database-Engine Diensten
- Machine Learning Services (in-database)
- R, Python of beide
Noteer de locatie van de map onder het pad
..\Setup Bootstrap\Logwaar de configuratiebestanden zijn opgeslagen. Wanneer de installatie is voltooid, kunt u de geïnstalleerde onderdelen in het overzichtsbestand bekijken.Nadat de installatie is voltooid, doet u dit 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 de installatie. Zie Logboekbestanden voor HET instellen van SQL Server weergeven en lezen voor meer informatie.
Omgevingsvariabelen instellen
Voor alleen R-functie-integratie moet u de MKL_CBWR omgevingsvariabele instellen om consistente uitvoer van MKL-berekeningen (Intel Math Kernel Library) te garanderen:
In het Configuratiescherm selecteert u Systeem en Beveiliging>Systeem>Geavanceerde systeeminstellingen>Omgevingsvariabelen.
Maak een nieuwe gebruiker of systeemvariabele:
- Stel de naam van de variabele in op
MKL_CBWR. - Stel de variabelewaarde in op
AUTO.
- Stel de naam van de variabele in op
Voor deze stap moet de server opnieuw worden opgestart. Als u het uitvoeren van scripts wilt inschakelen, kunt u het opnieuw opstarten uitstellen totdat al het configuratiewerk is voltooid.
Scriptuitvoering inschakelen
Gebruik SQL Server Management Studio (SSMS) of Azure Data Studio om verbinding te maken met het exemplaar waarop u SQL Server Machine Learning Services hebt geïnstalleerd.
Selecteer Nieuwe query om een queryvenster te openen en voer vervolgens de volgende opdracht uit:
EXEC sp_configureDe waarde voor de eigenschap
external scripts enabledmoet op dit moment zijn0. De functie is standaard uitgeschakeld. Voer de volgende instructie uit om deze in te schakelen zodat u R- of Python-scripts kunt uitvoeren:EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDEAls u de functie al hebt ingeschakeld voor de R-taal, hoeft u geen tweede keer voor Python uit te voeren
RECONFIGURE. Het onderliggende uitbreidbaarheidsplatform ondersteunt beide talen.
Start de service opnieuw op
Wanneer de installatie is voltooid, start u de database-engine opnieuw op. Als u de service opnieuw start, wordt de gerelateerde SQL Server Launchpad-service ook automatisch opnieuw opgestart.
U kunt de service opnieuw starten met behulp van een van de volgende methoden:
- De opdracht Opnieuw opstarten met de rechtermuisknop voor het exemplaar in Objectverkenner in SSMS
- Het MMC-item ( Services Microsoft Management Console) in het Configuratiescherm
- SQL Server Configuration Manager
Installatie controleren
Gebruik de volgende stappen om te controleren of alle onderdelen die worden gebruikt om externe scripts te starten, worden uitgevoerd:
Open in SQL Server Management Studio een nieuw queryvenster en voer de volgende opdracht uit:
EXECUTE sp_configure 'external scripts enabled'Daarna wordt
run_valueingesteld op1.Open het configuratiescherm van Services of SQL Server Configuration Manager en controleer of de SQL Server Launchpad-service wordt uitgevoerd. U moet één service hebben voor elk exemplaar van de database-engine waarop R of Python is geïnstalleerd. Zie De architectuur voor uitbreidbaarheid in SQL Server Machine Learning Services voor meer informatie over de service.
Als Launchpad wordt uitgevoerd, kunt u eenvoudige Python- en R-scripts uitvoeren om te controleren of externe scriptruntimes kunnen communiceren met SQL Server.
Open een nieuw queryvenster in SQL Server Management Studio en voer vervolgens een script uit, zoals:
Voor R:
EXEC sp_execute_external_script @language =N'R', @script=N' OutputDataSet <- InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GOVoor Python:
EXEC sp_execute_external_script @language =N'Python', @script=N' OutputDataSet = InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GO
De eerste keer dat de externe scriptruntime wordt geladen, kan het uitvoeren van het script enige tijd duren. De resultaten moeten er ongeveer als volgt uitzien:
hallo 1
Opmerking
Kolommen of kolomkoppen die in het Python-script worden gebruikt, worden niet automatisch geretourneerd. Als u kolomnamen voor de uitvoer wilt toevoegen, moet u het schema voor de retourgegevensset opgeven. Doe dit door de WITH RESULTS parameter van de opgeslagen procedure te gebruiken, de kolommen een naam te geven en het SQL-gegevenstype op te geven.
U kunt bijvoorbeeld de volgende regel toevoegen om een willekeurige kolomnaam te genereren: WITH RESULT SETS ((Col1 AS int))
Updates toepassen
Bestaande installatie
Als u Machine Learning Services hebt toegevoegd aan een bestaand SQL Server-exemplaar en eerder een cumulatieve update (CU) hebt toegepast, kunnen de versies van uw database-engine en de functie Machine Learning Services afwijken. Dit verschil kan leiden tot onverwacht gedrag of fouten omdat launchpad.exe en sqlservr.exe verschillende versies hebben.
Volg deze stappen om Machine Learning Services naar dezelfde versie als uw database-engine te brengen:
Bepaal de cumulatieve update die u voor de database-engine hebt. Voer deze T-SQL-instructie uit:
SELECT @@VERSIONHier volgt een voorbeeld van uitvoer van SQL Server 2019 CU 8:
Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64) Nov 2 2020 18:35:09 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)Zie De versie, editie en updateniveau van SQL Server en de bijbehorende onderdelen bepalen voor meer informatie.
Download indien nodig de cumulatieve update die u voor de database-engine hebt geïnstalleerd.
Voer de installatie van de cumulatieve update uit en volg de instructies om deze opnieuw te installeren voor Machine Learning Services. Selecteer het bestaande exemplaar waarop Machine Learning Services is geïnstalleerd. De upgradestatus toont onvolledig geïnstalleerd op de pagina Functieselectie .
Selecteer Volgende en ga door met de installatie.
Nieuwe installatie
Als u Machine Learning Services installeert met een nieuwe installatie van de SQL Server-database-engine, raden we u aan de meest recente cumulatieve update toe te passen op zowel de database-engine als machine learning-onderdelen.
Op apparaten met internetverbinding worden cumulatieve updates doorgaans toegepast via Windows Update. U kunt echter ook de volgende stappen gebruiken voor gecontroleerde updates. Wanneer u de update voor de database-engine toepast, worden cumulatieve updates opgehaald voor python- of R-functies die u op hetzelfde exemplaar hebt geïnstalleerd.
Voor niet-verbonden servers zijn extra stappen vereist. Zie Installeren op computers zonder > internettoegang Cumulatieve updates toepassen voor meer informatie.
Begin met een basisinstantie van SQL Server die al is geïnstalleerd: SQL Server eerste release.
Ga naar de lijst met updates voor Microsoft SQL Server.
Selecteer de meest recente cumulatieve update. Een uitvoerbaar bestand wordt automatisch gedownload en geëxtraheerd.
Voer Setup uit en accepteer de licentievoorwaarden.
Bekijk op de pagina Functieselectie de functies waarvoor cumulatieve updates worden toegepast. U ziet nu elke functie die is geïnstalleerd voor het huidige exemplaar, inclusief machine learning-functies. Setup downloadt de CAB-bestanden die nodig zijn om alle functies bij te werken.
Ga door met de wizard. Accepteer de licentievoorwaarden voor R- en Python-distributies.
Aanvullende configuratie
Als de stap voor externe scriptverificatie is geslaagd, kunt u R- of Python-opdrachten uitvoeren vanuit SQL Server Management Studio, Visual Studio Code of een andere client die T-SQL-instructies naar de server kan verzenden.
Als er een fout optreedt tijdens het uitvoeren van de opdracht, moet u mogelijk aanvullende configuraties aanbrengen in de service of database. Op exemplaarniveau kunnen aanvullende configuraties het volgende omvatten:
- Een firewall configureren voor SQL Server Machine Learning Services
- Aanvullende netwerkprotocollen inschakelen
- Externe verbindingen inschakelen
- Een aanmelding maken voor SQLRUserGroup
- Schijfquota beheren om te voorkomen dat externe scripts taken uitvoeren die schijfruimte uitputten
In SQL Server 2019 op Windows is het isolatiemechanisme gewijzigd. Dit mechanisme is van invloed op SQLRUserGroup, firewallregels, bestandsmachtigingen en impliciete verificatie. Zie Isolatiewijzigingen voor Machine Learning Services voor meer informatie.
In de database hebt u mogelijk configuratie-updates nodig. Zie Gebruikers toestemming geven voor SQL Server Machine Learning Services voor meer informatie.
Opmerking
Of de aanvullende 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 om machine learning te ondersteunen of een vooraf getraind machine learning-model te installeren.
Meer werkaccounts toevoegen
Als u verwacht dat veel gebruikers gelijktijdig scripts uitvoeren, kunt u het aantal werkaccounts verhogen dat is toegewezen aan de Launchpad-service. Voor meer informatie, zie Gelijktijdige uitvoering van externe scripts schalen in SQL Server Machine Learning Services.
De server optimaliseren voor het uitvoeren van scripts
De standaardinstellingen voor het instellen van SQL Server zijn bedoeld om de balans van de server te optimaliseren voor diverse andere services en toepassingen.
Onder de standaardinstellingen worden resources voor machine learning soms beperkt of afgeknepen, met name in geheugenintensieve bewerkingen.
Om ervoor te zorgen dat machine learning-taken prioriteit krijgen en op de juiste wijze worden geresourced, 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 SQL Server-database-engine of het aantal accounts verhogen dat wordt uitgevoerd onder de SQL Server Launchpad-service.
Zie Een externe resourcegroep maken om een resourcegroep te configureren voor het beheren van externe resources.
Zie Opties voor servergeheugenconfiguratie om de hoeveelheid geheugen te wijzigen die is gereserveerd voor de database.
Zie Gelijktijdige uitvoering van externe scripts schalen in SQL Server Machine Learning Services om het aantal R-accounts dat SQL Server Launchpad kan starten te wijzigen.
Als u Standard Edition gebruikt en geen Resource Governor hebt, kunt u dynamische beheerweergaven, uitgebreide SQL Server-gebeurtenissen en Windows-gebeurtenisbewaking gebruiken om de serverresources te beheren.
Extra Python- en R-pakketten installeren
De Python- en R-oplossingen die u voor SQL Server maakt, kunnen het volgende aanroepen:
- Basisfuncties.
- Functies van de eigen pakketten die zijn geïnstalleerd met SQL Server.
- Pakketten van derden die compatibel zijn met de versie van opensource Python en R die sql Server installeert.
Pakketten die u wilt gebruiken vanuit SQL Server, moeten worden geïnstalleerd in de standaardbibliotheek die door het exemplaar wordt gebruikt. Als u een afzonderlijke installatie van Python of R op de computer hebt of als u pakketten hebt geïnstalleerd in gebruikersbibliotheken, kunt u deze pakketten niet gebruiken vanuit T-SQL.
Als u extra pakketten wilt installeren en beheren, kunt u gebruikersgroepen instellen om pakketten te delen op databaseniveau, of u kunt databaserollen configureren om gebruikers in staat te stellen hun eigen pakketten te installeren. Zie Python-pakketten installeren en nieuwe R-pakketten installeren voor meer informatie.
Verwante inhoud
- Python-zelfstudie: Een lineair regressiemodel implementeren met SQL Machine Learning
- Python-zelfstudie: Klanten categoriseren met behulp van k-means-clustering met SQL Machine Learning
- Quickstart: Eenvoudige R-scripts uitvoeren met SQL Machine Learning
- R-zelfstudie: NyC-taxitarieven voorspellen met binaire classificatie