Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2022 (16.x)
Den här artikeln visar hur du installerar SQL Server Machine Learning Services med Python och R i Windows. Du kan använda Machine Learning Services för att köra Python- och R-skript i databasen.
Anmärkning
Dessa instruktioner är specifika för SQL Server 2022 (16.x) i Windows. Information om hur du installerar SQL Server Machine Learning Services i Windows för SQL Server 2016 (13.x), SQL Server 2017 (14.x) eller SQL Server 2019 (15.x) finns i Installera SQL Server Machine Learning Services (Python och R) i Windows.
För Linux, se Installera SQL Server 2019 Machine Learning Services (Python och R) på Linux.
Checklista för förinstallation
En databasmotorinstans krävs. Du kan inte bara installera Python- eller R-funktioner, även om du kan lägga till dem stegvis i en befintlig instans.
För affärskontinuitet stöds AlwaysOn-tillgänglighetsgrupper för Machine Learning Services. Installera Machine Learning Services och konfigurera paket på varje nod.
Installation av Machine Learning Services stöds också på en AlwaysOn-redundansklusterinstanser i SQL Server 2019 och senare.
Installera inte Machine Learning Services på en domänkontrollant. Machine Learning Services-delen av installationen misslyckas.
Sida vid sida-installation med andra versioner av Python och R stöds, men vi rekommenderar det inte. Det stöds eftersom SQL Server-instansen använder sina egna kopior av R- och Anaconda-distributionerna med öppen källkod. Vi rekommenderar det inte eftersom körning av kod som använder Python och R på en dator utanför SQL Server kan leda till problem:
- Om du använder ett annat bibliotek och olika körbara filer skapas resultat som är inkonsekventa med det du kör i SQL Server.
- SQL Server kan inte hantera R- och Python-skript som körs i externa bibliotek, vilket leder till resurskonkurration.
Viktigt!
När du har slutfört installationen måste du fullfölja stegen efter konfigurationen som beskrivs i den här artikeln. De här stegen kan vara att aktivera SQL Server för att använda externa skript. Konfigurationsändringar kräver vanligtvis en omstart av instansen eller en omstart av Launchpad-tjänsten.
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.
Kör installationsprogrammet
För lokala installationer måste du köra installationen 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.
Om du stöter på installationsfel under installationen kontrollerar du sammanfattningsloggen i loggmappen Konfigurera Bootstrap (till exempel %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt).
Starta installationsguiden för SQL Server 2022.
På fliken Installation väljer du Ny fristående SQL Server-installation eller lägger till funktioner i en befintlig installation.
Välj följande alternativ på sidan Funktionsval :
Databasmotortjänster
Om du vill använda R eller Python med SQL Server måste du installera en instans av databasmotorn. Du kan använda antingen en standardinstans eller en namngiven instans.
Maskininlärningstjänster och språk
Det här alternativet installerar databastjänsterna som stöder körning av R- och Python-skript.
Den här skärmbilden visar de minsta instansfunktionerna som ska kontrolleras när du installerar SQL Server 2022 (16.x) Machine Learning Services.
Installera körtidsmiljöer och paket
Från och med SQL Server 2022 (16.x) levereras eller installeras inte längre körningar för R, Python och Java med SQL Server-konfiguration. Använd i stället följande avsnitt för att installera anpassade runtime-miljöer och paket.
Konfigurera R-stöd
Installera R-körtid
Ladda ned och installera den senaste versionen av R 4.2 för Windows.
Installera beroenden för
CompatibilityAPIochRevoScaleR. Kör följande kommandon från R-terminalen för den version som du installerade:# R Terminal install.packages("iterators") install.packages("foreach") install.packages("R6") install.packages("jsonlite")Ladda ned och installera den senaste versionen av
CompatibilityAPIochRevoScaleRpaket: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)
Konfigurera R-körning med SQL Server
Konfigurera den installerade R-körningen med SQL Server. Du kan ändra standardversionen med hjälp
RegisterRext.exeav kommandoradsverktyget. Verktyget finns i en R-programmapp som är beroende av installationen. Vanligtvis är det i%ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64.Du kan använda följande skript för att konfigurera den installerade R-runtime från installationsmappens plats
RegisterRext.exe. Instansnamnet ärMSSQLSERVERför en standardinstans av SQL Server eller instansnamnet för en namngiven instans av SQL Server..\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"MSSQLSERVER"Om du konfigurerar en namngiven instans av SQL Server som du normalt refererar till som ".\SQLEXPRESS" eller "MACHINENAME\SQLEXPRESS" inkluderar du bara instansnamnet. Till exempel:
.\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"Genom att använda SQL Server Management Studio (SSMS) eller Azure Data Studio ansluter du till den instans där du installerade SQL Server Machine Learning Services. Välj Ny fråga för att öppna ett frågefönster och kör sedan följande kommando för att aktivera den externa skriptfunktionen:
EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDEOm du redan har aktiverat funktionen för ett annat språk behöver du inte köra
RECONFIGUREen andra gång för R. Den underliggande utökningsplattformen stöder båda språken. Kontrollera att följande kommando returnerar1förconfig_valueochrun_value:EXEC sp_configure 'external scripts enabled';Starta om SQL Server-tjänsten. Om du startar om tjänsten startas även den relaterade SQL Server Launchpad-tjänsten om automatiskt.
Du kan starta om tjänsten med hjälp av kommandot Starta om för instansen i SSMS Object Explorer eller med hjälp av objektet Tjänster på Kontrollpanelen eller med hjälp av SQL Server Configuration Manager.
Kontrollera installationen genom att köra ett enkelt T-SQL-kommando för att returnera versionen av R:
EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R'; GO
Konfigurera Python-stöd
Installera Python-körning
Ladda ned den senaste versionen av Python 3.10 för Windows. Installera det med hjälp av följande alternativ:
Öppna Python-installationsprogrammet och välj Anpassa installation.
Kontrollera att kryssrutan Installera startprogrammet för alla användare (rekommenderas) är markerad.
För Valfria funktioner väljer du de funktioner som du vill använda (eller markerar dem alla).
På sidan Avancerade alternativ väljer du Installera för alla användare, accepterar andra standardalternativ och väljer sedan Installera.
Vi rekommenderar att du använder en Python-installationssökväg som alla användare kan komma åt (till exempel
C:\Program Files\Python310), och inte en som är specifik för en enskild användare.
Ladda ned och installera den senaste versionen av
revoscalepy-paketet och dess beroenden i ett nytt kommandotolksfönster med höjd behörighet.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.whlKör följande icacls-kommandon för att bevilja READ - och EXECUTE-åtkomst till de installerade biblioteken till SQL Server Launchpad Service och SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES). Du måste bevilja behörigheter till tjänstkontot som är associerat med Launchpad-tjänsten, checka in 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 /TOm du har installerat SQL Server som en namngiven instans kan tjänstkontot ha en
$i mitten, till exempel: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
Konfigurera Python-körning med SQL Server
Konfigurera den installerade Python-körningen med SQL Server. Du kan ändra standardversionen med hjälp
RegisterRext.exeav kommandoradsverktyget. Verktyget finns på den anpassade installationsplatsen (till exempelC:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs).Från kommandotolken med administratörsrättigheter kan du använda följande skript för att konfigurera den installerade Python-tolken från installationsmappens plats
RegisterRext.exe. Instansnamnet ärMSSQLSERVERför en standardinstans av SQL Server eller instansnamnet för en namngiven instans av SQL Server.cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs" .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"MSSQLSERVER"Om du konfigurerar en namngiven instans av SQL Server som du normalt refererar till som ".\SQLEXPRESS" eller "MACHINENAME\SQLEXPRESS" inkluderar du bara instansnamnet. Till exempel:
cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs" .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"Använd SQL Server Management Studio eller Azure Data Studio för att ansluta till den instans där du installerade SQL Server Machine Learning Services. Välj Ny fråga för att öppna ett frågefönster och kör sedan följande kommando för att aktivera den externa skriptfunktionen:
EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDEOm du redan har aktiverat funktionen för ett annat språk behöver du inte köra
RECONFIGUREen andra gång för R. Den underliggande utökningsplattformen stöder båda språken. Kontrollera att följande kommando returnerar1förconfig_valueochrun_value:EXEC sp_configure 'external scripts enabled';Starta om SQL Server-tjänsten. Om du startar om tjänsten startas även den relaterade SQL Server Launchpad-tjänsten om automatiskt.
Du kan starta om tjänsten med hjälp av kommandot Starta om för instansen i SSMS Object Explorer eller med hjälp av objektet Tjänster på Kontrollpanelen eller med hjälp av SQL Server Configuration Manager.
Kontrollera installationen genom att köra ett enkelt kommando för att returnera versionen av Python:
EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python' GO
Installera Java
Information om hur du installerar och använder Java finns i Installera JAVA Server Java Language Extension i Windows.
Ytterligare konfiguration
Om verifieringssteget för externa skript lyckades kan du köra R- eller Python-kommandon från SQL Server Management Studio, Visual Studio Code eller någon annan klient som kan skicka T-SQL-instruktioner till servern.
Om den ytterligare konfigurationen 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.
Om du får ett fel när du körde kommandot kan du behöva göra ytterligare konfigurationer för tjänsten eller databasen. På instansnivå kan ytterligare konfigurationer omfatta:
- Brandväggskonfiguration för SQL Server Machine Learning Services
- Aktivera eller inaktivera ett servernätverksprotokoll
- Server-konfiguration: fjärråtkomst
- Skapa en inloggning för SQLRUserGroup
- Hantera diskkvoter för att förhindra att externa skript kör uppgifter som avtömmer diskutrymmet
Från och med SQL Server 2019 i Windows har isoleringsmekanismen ändrats. Den här mekanismen påverkar SQLRUserGroup, brandväggsregler, filbehörighet och underförstådd autentisering. Mer information finns i SQL Server i Windows: Isoleringsändringar för Machine Learning Services.
I databasen kan du behöva konfigurationsuppdateringar. Mer information finns i Bevilja databasanvändare behörighet att köra Python- och R-skript med SQL Server Machine Learning Services.
Föreslagna optimeringar
Nu när allt fungerar kanske du också vill optimera servern för att stödja maskininlärning eller installera en förtränad maskininlärningsmodell.
Optimera servern för skriptkörning
Standardinställningarna för SQL Server-konfigurationen är avsedda att optimera serverns balans för olika andra tjänster och program.
Enligt standardinställningarna begränsas eller strypas ibland resurser för maskininlärning, särskilt i minnesintensiva operationer.
För att säkerställa att maskininlärningsjobb prioriteras och får lämpliga resurser rekommenderar vi att du använder SQL Server Resource Governor för att konfigurera en extern resurspool. Du kanske också vill ändra mängden minne som allokeras till SQL Server-databasmotorn eller öka antalet konton som körs under SQL Server Launchpad-tjänsten.
Information om hur du konfigurerar en resurspool för hantering av externa resurser finns i SKAPA EXTERN RESURSPOOL (Transact-SQL).
Information om hur du ändrar mängden minne som är reserverat för databasen finns i Konfigurationsalternativ för serverminne.
Information om hur du ändrar antalet R-konton som SQL Server Launchpad kan starta finns i Skala samtidig körning av externa skript i SQL Server Machine Learning Services.
Om du använder Standard Edition och inte har Resource Governor kan du använda dynamiska hanteringsvyer, SQL Server Extended Events och Windows-händelseövervakning för att hantera serverresurserna.
Installera ytterligare Python- och R-paket
De Python- och R-lösningar som du skapar för SQL Server kan anropa:
- Grundläggande funktioner.
- Funktioner från de proprietära paket som installerats med SQL Server.
- Tredjepartspaket som är kompatibla med den version av Python med öppen källkod och R som SQL Server installerar.
Paket som du vill använda från SQL Server måste installeras i standardbiblioteket som instansen använder. Om du har en separat installation av Python eller R på datorn, eller om du har installerat paket till användarbibliotek, kan du inte använda dessa paket från T-SQL.
Om du vill installera och hantera ytterligare paket kan du konfigurera användargrupper för att dela paket på databasnivå. Eller så kan du konfigurera databasroller så att användarna kan installera sina egna paket. Mer information finns i Installera Python-paket med sqlmlutils och Installera R-paket med sqlmlutils.
Fristående RevoScale-paket för Python- och R-körning
RevoScale-paket stöds också som ett fristående paket med Python- och R-runtimes. För att konfigurera Python- eller R-körning för det fristående scenariot följer du anvisningarna i avsnitten Installera Python-körning och Installera R-körning avsnitt.
Relaterat innehåll
- Python-självstudie: Distribuera en linjär regressionsmodell med SQL Machine Learning
- Python-självstudie: Kategorisera kunder med k-means-klustring och SQL-maskininlärning
- Snabbstart: Köra enkla R-skript med SQL Machine Learning
- Handledning i R: Förutsäga taxipriser för New York med binär klassificering