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 2022 (16.x)
In dit artikel leest u hoe u SQL Server Machine Learning Services installeert met Python en R in Windows. U kunt Machine Learning Services gebruiken om Python- en R-scripts in de database uit te voeren.
Opmerking
Deze instructies zijn specifiek voor SQL Server 2022 (16.x) in Windows. Zie voor het installeren van SQL Server Machine Learning Services (Python en R) op Windows SQL Server 2016 (13.x), SQL Server 2017 (14.x) of SQL Server 2019 (15.x).
Zie Installeren van Sql Server 2019 Machine Learning Services (Python en R) op Linux.
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 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 ook ondersteund op een Always On failoverclusterinstantie in SQL Server 2019 en hoger.
Installeer Machine Learning Services niet op een domeincontroller. Het gedeelte van de installatie van Machine Learning Services mislukt.
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.
 
Belangrijk
Nadat u de installatie hebt voltooid, moet u de stappen na de configuratie voltooien die in dit artikel worden beschreven. Deze stappen kunnen bestaan uit het inschakelen van SQL Server voor het gebruik van externe scripts. 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 directory van Microsoft-partners op de Microsoft-aankoopwebsite.
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.
Als er installatiefouten optreden tijdens de installatie, controleert u het overzichtslogboek in de logboekmap Setup Bootstrap (bijvoorbeeld %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt).
Start de installatiewizard van SQL Server 2022.
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 of Python wilt gebruiken met SQL Server, moet u een exemplaar van de database-engine installeren. U kunt een standaard- of een benoemde instantie gebruiken.
Machine Learning Services en programmeertaal
Met deze optie worden de databaseservices geïnstalleerd die ondersteuning bieden voor R- en Python-scriptuitvoering.
Deze schermopname toont de minimale exemplaarfuncties die moeten worden gecontroleerd wanneer u SQL Server 2022 (16.x) Machine Learning Services installeert.
Runtimes en pakketten installeren
Vanaf SQL Server 2022 (16.x) worden runtimes voor R, Python en Java niet meer verzonden of geïnstalleerd met sql Server-installatie. Gebruik in plaats daarvan de volgende secties om uw aangepaste runtimes en pakketten te installeren.
R-ondersteuning instellen
R Runtime installeren
Download en installeer de meest recente versie van R 4.2 voor Windows.
Installeer afhankelijkheden voor
CompatibilityAPIenRevoScaleR. Voer vanuit de R-terminal van de versie die u hebt geïnstalleerd de volgende opdrachten uit:# R Terminal install.packages("iterators") install.packages("foreach") install.packages("R6") install.packages("jsonlite")Download en installeer de nieuwste versie van
CompatibilityAPIenRevoScaleRpakketten:install.packages("https://aka.ms/sqlml/r4.2/windows/CompatibilityAPI_1.1.0.zip", repos=NULL) install.packages("https://aka.ms/sqlml/r4.2/windows/RevoScaleR_10.0.1.zip", repos=NULL)
R-runtime configureren met SQL Server
Configureer de geïnstalleerde R-runtime met SQL Server. U kunt de standaardversie wijzigen met behulp van het
RegisterRext.exeopdrachtregelprogramma. Het hulpprogramma bevindt zich in een R-toepassingsmap die afhankelijk is van de installatie. Meestal is het binnen%ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64.U kunt het volgende script gebruiken om de geïnstalleerde R-runtime te configureren vanaf de locatie van de installatiemap van
RegisterRext.exe. De exemplaarnaam isMSSQLSERVERvoor een standaardexemplaar van SQL Server of de naam van het exemplaar voor een aangeschreven exemplaar van SQL Server..\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"MSSQLSERVER"Als u een benoemd exemplaar van SQL Server configureert die u normaal gesproken aanduidt als ".\SQLEXPRESS" of "MACHINENAME\SQLEXPRESS", gebruikt u alleen de naam van het exemplaar. Voorbeeld:
.\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"Maak met behulp van SQL Server Management Studio (SSMS) of Azure Data Studio verbinding 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 om de externe scriptfunctie in te schakelen:
EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDEAls u de functie al hebt ingeschakeld voor een andere taal, hoeft u geen tweede keer voor R uit te voeren
RECONFIGURE. Het onderliggende uitbreidbaarheidsplatform ondersteunt beide talen. Om te verifiëren, controleer of de volgende opdracht1retourneert voorconfig_valueenrun_value:EXEC sp_configure 'external scripts enabled';Start de SQL Server-service 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 door met de rechtermuisknop te klikken op de opdracht Opnieuw opstarten voor het exemplaar in SSMS Object Explorer, of door gebruik te maken van het item Services in het Configuratiescherm, of met behulp van SQL Server Configuration Manager.
Controleer de installatie door een eenvoudige T-SQL-opdracht uit te voeren om de versie van R te retourneren:
EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R'; GO
Python-ondersteuning instellen
Python-runtime installeren
Download de meest recente versie van Python 3.10 voor Windows. Installeer het met behulp van de volgende opties:
Open de Installatietoepassing voor Python en selecteer Installatie aanpassen.
Controleer of het selectievakje Installatieprogramma voor alle gebruikers (aanbevolen) is ingeschakeld.
Selecteer voor optionele functies de gewenste functies (of selecteer ze allemaal).
Selecteer Installeren voor alle gebruikers op de pagina Geavanceerde opties, accepteer andere standaardopties en selecteer Vervolgens Installeren.
We raden u aan een Python-installatiepad te gebruiken waartoe alle gebruikers toegang hebben (zoals
C:\Program Files\Python310) en niet tot een specifiek pad voor één gebruiker.
Download en installeer de nieuwste versie van het
revoscalepypakket en de bijbehorende afhankelijkheden vanaf een nieuwe opdrachtprompt met verhoogde bevoegdheid:cd "C:\Program Files\Python310\" python -m pip install -t "C:\Program Files\Python310\Lib\site-packages" dill numpy==1.22.0 pandas patsy python-dateutil python -m pip install -t "C:\Program Files\Python310\Lib\site-packages" https://aka.ms/sqlml/python3.10/windows/revoscalepy-10.0.1-py3-none-any.whlVoer de volgende icacls-opdrachten uit om READ - en EXECUTE-toegang te verlenen tot de geïnstalleerde bibliotheken voor SQL Server Launchpad Service en SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES). U moet machtigingen verlenen aan het serviceaccount dat is gekoppeld aan de Launchpad-service en dit controleren in de SQL Server Configuration Manager.
icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /TAls u SQL Server hebt geïnstalleerd als een benoemd exemplaar, kan het serviceaccount een
$in het midden hebben, bijvoorbeeld:icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD$SQLEXPRESS":(OI)(CI)RX /T icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T
Python-runtime configureren met SQL Server
Configureer de geïnstalleerde Python-runtime met SQL Server. U kunt de standaardversie wijzigen met behulp van het
RegisterRext.exeopdrachtregelprogramma. Het hulpprogramma bevindt zich op de aangepaste installatielocatie (bijvoorbeeldC:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs).Vanaf een opdrachtprompt met verhoogde bevoegdheid kunt u het volgende script gebruiken om de geïnstalleerde Python-runtime te configureren vanaf de locatie van de installatiemap van
RegisterRext.exe. De naam van de instantie isMSSQLSERVERvoor een standaardinstantie van SQL Server, of de naam van de instantie voor een benoemde instantie van SQL Server.cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs" .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"MSSQLSERVER"Als u een genaamd exemplaar van SQL Server configureert dat u normaal gesproken als ".\SQLEXPRESS" of "MACHINENAME\SQLEXPRESS" aanduidt, neemt u alleen de naam van het exemplaar op. Voorbeeld:
cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs" .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"Gebruik SQL Server Management Studio 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 om de externe scriptfunctie in te schakelen:
EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDEAls u de functie al hebt ingeschakeld voor een andere taal, hoeft u geen tweede keer voor R uit te voeren
RECONFIGURE. Het onderliggende uitbreidbaarheidsplatform ondersteunt beide talen. Bevestig dat de volgende opdracht1retourneert voorconfig_valueenrun_value.EXEC sp_configure 'external scripts enabled';Start de SQL Server-service 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 door de rechtermuisknop te gebruiken op de opdracht Opnieuw Opstarten voor het exemplaar in de Object Explorer van SSMS, of door gebruik te maken van het item Services in het Configuratiescherm, of door gebruik te maken van SQL Server Configuration Manager.
Controleer de installatie door een eenvoudige opdracht uit te voeren om de versie van Python te retourneren:
EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python' GO
Java installeren
Zie Sql Server Java Language Extension installeren in Windows voor meer informatie over het installeren en gebruiken van Java.
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.
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.
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:
- Firewall-configuraties voor SQL Server Machine Learning Services
 - Een servernetwerkprotocol in- of uitschakelen
 - Serverconfiguratie: externe toegang
 - Een aanmelding maken voor SQLRUserGroup
 - Schijfquota beheren om te voorkomen dat externe scripts taken uitvoeren die schijfruimte uitputten
 
Vanaf SQL Server 2019 in Windows is het isolatiemechanisme gewijzigd. Dit mechanisme is van invloed op SQLRUserGroup, firewallregels, bestandsmachtigingen en impliciete verificatie. Zie SQL Server in Windows voor meer informatie: Isolatiewijzigingen voor Machine Learning Services.
In de database hebt u mogelijk configuratie-updates nodig. Zie Databasegebruikers machtigingen verlenen voor het uitvoeren van Python- en R-scripts met SQL Server Machine Learning Services voor meer informatie.
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.
De server optimaliseren voor het uitvoeren van scripts
De standaardinstellingen voor het instellen van SQL Server zijn bedoeld om de balans van de server voor verschillende andere services en toepassingen te optimaliseren.
Onder de standaardinstellingen worden resources voor machine learning soms beperkt of ingeperkt, met name bij 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 CREATE EXTERNAL RESOURCE POOL (Transact-SQL)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.
Om het aantal R-accounts te wijzigen dat SQL Server Launchpad kan starten, zie Gelijktijdige uitvoering van externe scripts schalen in SQL Server Machine Learning Services.
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. U kunt ook databaserollen configureren om gebruikers in staat te stellen hun eigen pakketten te installeren. Zie Python-pakketten installeren met sqlmlutils en R-pakketten installeren met sqlmlutils voor meer informatie.
Zelfstandige RevoScale-pakketten voor Python- en R-runtime
RevoScale-pakketten worden ook ondersteund als zelfstandig pakket met Python- en R-runtimes. Als u Python- of R-runtime wilt instellen voor het zelfstandige scenario, volgt u de instructies in respectievelijk de secties Python-runtime installeren en R-runtime installeren secties.
Verwante inhoud
- Python-zelfstudie: Een lineair regressiemodel implementeren met SQL Machine Learning-
 - Python-zelfstudie: Klanten categoriseren met k-means-clustering met SQL Machine Learning-
 - quickstart: Eenvoudige R-scripts uitvoeren met SQL Machine Learning-
 - R-zelfstudie: Taxitarieven voor NYC voorspellen met binaire classificatie