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 2016 (13.x),
SQL Server 2017 (14.x) och
SQL Server 2019 (15.x)
Den här artikeln visar hur du installerar SQL Server Machine Learning Services i Windows. Du kan använda Machine Learning Services för att köra Python- och R-skript i databasen.
Viktigt!
Dessa instruktioner gäller för SQL Server 2016 (13.x), SQL Server 2017 (14.x) och SQL Server 2019 (15.x). För SQL Server 2022 (16.x) läser du Installera SQL Server 2022 Machine Learning Services i Windows.
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 fristående 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 inte på en AlwaysOn-redundansklusterinstans i SQL Server 2017. Det stöds med SQL Server 2019 och senare. Du måste installera Machine Learning Services vid installationen och funktioner kan inte läggas till i en befintlig redundansklusterinstans när den har installerats.
Installera inte Machine Learning Services på en domänkontrollant. Machine Learning Services-delen av installationen misslyckas.
Installera inteMachine Learning Server för> (fristående) på samma dator som kör en databasinstans. En fristående server konkurrerar om samma resurser och minskar prestandan för båda installationerna.
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.
Anmärkning
Machine Learning Services installeras som standard på SQL Server Big Data Clusters. Du behöver inte följa stegen i den här artikeln om du använder ett stordatakluster. Mer information finns i Använda Machine Learning Services (Python och R) på stordatakluster.
Viktigt!
När du har slutfört installationen bör du slutföra efterkonfigurationsstegen som beskrivs i denna artikel. De här stegen omfattar att göra det möjligt för SQL Server att använda externa skript och lägga till konton som krävs för att SQL Server ska kunna köra R- och Python-jobb åt dig. 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.
Mer information om vilka SQL Server-utgåvor som stöder Python- och R-integrering med Machine Learning Services finns i Utgåvor och funktioner som stöds i SQL Server 2017.
Mer information om vilka SQL Server-utgåvor som stöder Python- och R-integrering med Machine Learning Services finns i Utgåvor och funktioner som stöds i SQL Server 2019.
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.
Starta installationsguiden för SQL Server.
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 och Python 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 (In-Database)
Det här alternativet installerar databastjänsterna som stöder körning av R- och Python-skript.
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åktillägg
Det här alternativet installerar databastjänsterna som stöder körning av R- och Python-skript.
R
Välj det här alternativet om du vill lägga till Microsoft R-paket, tolk och R med öppen källkod.
Python
Välj det här alternativet om du vill lägga till Microsoft Python-paketen, körbara Python 3.5 och välja bibliotek från Anaconda-distributionen.
Information om hur du installerar och använder Java finns i Installera JAVA Server Java Language Extension i Windows.
Anmärkning
Välj inte alternativet Machine Learning Server (fristående) under Delade funktioner. Det alternativet är avsett för användning på en separat dator.
På sidan Medgivande att installera Microsoft R Open väljer du Acceptera>nästa.
Licensavtalet omfattar:
- Microsoft R Open.
- R-baspaket och -verktyg med öppen källkod.
- Förbättrade R-paket och anslutningsleverantörer från Microsofts utvecklingsteam.
På sidan Medgivande att installera Python väljer du Acceptera>nästa. Python-licensavtalet med öppen källkod omfattar även Anaconda och relaterade verktyg, plus några nya Python-bibliotek från Microsofts utvecklingsteam.
Anmärkning
Om den dator som du använder inte har internetåtkomst kan du pausa installationen för att ladda ned installationsprogrammet separat. Mer information finns i Installera maskininlärningskomponenter utan internetåtkomst.
På sidan Klar att installera kontrollerar du att dessa val ingår och väljer sedan Installera:
- Databasmotortjänster
- Machine Learning Services (i databasen)
- R, Python eller båda
Observera platsen för mappen under sökvägen
..\Setup Bootstrap\Logdär konfigurationsfilerna lagras. När installationen är klar kan du granska de installerade komponenterna i sammanfattningsfilen.När installationen är klar gör du det 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.
På sidan Medgivande att installera Microsoft R Open väljer du Acceptera>nästa. Det här licensavtalet omfattar Microsoft R Open, som innehåller en distribution av R-baspaket och -verktyg med öppen källkod. Den innehåller även förbättrade R-paket och anslutningsleverantörer från Microsofts utvecklingsteam.
På sidan Medgivande att installera Python väljer du Acceptera>nästa. Python-licensavtalet med öppen källkod omfattar även Anaconda och relaterade verktyg, plus några nya Python-bibliotek från Microsofts utvecklingsteam.
På sidan Klar att installera kontrollerar du att dessa val ingår och väljer sedan Installera:
- Databasmotortjänster
- Maskininlärningstjänster (i databasen)
- R, Python eller båda
Observera platsen för mappen under sökvägen
..\Setup Bootstrap\Logdär konfigurationsfilerna lagras. När installationen är klar kan du granska de installerade komponenterna i sammanfattningsfilen.När installationen är klar gör du det 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.
Ange miljövariabler
Endast för R-funktionsintegrering bör du ange MKL_CBWR miljövariabeln för att säkerställa konsekventa utdata från MKL-beräkningar (Intel Math Kernel Library):
I Kontrollpanelen väljer du System- och säkerhetssystem>>Avancerade systeminställningar>Miljövariabler.
Skapa en ny användar- eller systemvariabel:
- Ange variabelnamnet till
MKL_CBWR. - Ange variabelvärdet till
AUTO.
- Ange variabelnamnet till
Det här steget kräver en omstart av servern. Om du är på väg att aktivera skriptkörning kan du vänta med omstarten tills allt konfigurationsarbete är klart.
Aktivera skriptkörning
Använd SQL Server Management Studio (SSMS) 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:
EXEC sp_configureVärdet för egenskapen
external scripts enabledska vara0vid den här tidpunkten. Funktionen är inaktiverad som standard. Om du vill aktivera det så att du kan köra R- eller Python-skript kör du följande instruktion:EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDEOm du redan har aktiverat funktionen för R-språket behöver du inte köra
RECONFIGUREen andra gång för Python. Den underliggande utökningsplattformen stöder båda språken.
Starta om tjänsten
Starta om databasmotorn när installationen är klar. Om du startar om tjänsten startas även den relaterade SQL Server Launchpad-tjänsten om automatiskt.
Du kan starta om tjänsten med någon av följande metoder:
- Högerklicka på Kommandot Starta om för instansen i Object Explorer i SSMS
- Objektet Services Microsoft Management Console (MMC) på Kontrollpanelen
- Konfigurationshanteraren för SQL Server (SQL Server Configuration Manager)
Verifiera installationen
Använd följande steg för att kontrollera att alla komponenter som används för att starta externa skript körs:
Öppna ett nytt frågefönster i SQL Server Management Studio och kör följande kommando:
EXECUTE sp_configure 'external scripts enabled'Därefter ställs
run_valuein på1.Öppna kontrollpanelens objekt i Services 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 R eller Python installerat. Mer information om tjänsten finns i Utökningsarkitektur i SQL Server Machine Learning Services.
Om Launchpad körs kan du köra enkla Python- och R-skript för att kontrollera att externa skriptkörningar kan kommunicera med SQL Server.
Öppna ett nytt frågefönster i SQL Server Management Studio och kör sedan ett skript som:
För 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)); GOFör 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
Första gången som den externa skriptkörningen läses in kan det ta en stund att köra skriptet. Resultatet bör se ut ungefär så här:
hallå 1
Anmärkning
Kolumner eller rubriker som används i Python-skriptet returneras inte automatiskt. Om du vill lägga till kolumnnamn för dina utdata måste du ange schemat för returdatauppsättningen. Gör detta med hjälp av parametern WITH RESULTS för den lagrade proceduren, namnge kolumnerna och ange SQL-datatypen.
Du kan till exempel lägga till följande rad för att generera ett godtyckligt kolumnnamn: WITH RESULT SETS ((Col1 AS int)).
Tillämpa uppdateringar
Befintlig installation
Om du har lagt till Machine Learning Services i en befintlig SQL Server-instans och tidigare har tillämpat en kumulativ uppdatering (CU), kan versionerna av databasmotorn och Machine Learning Services-funktionen vara olika. Den här skillnaden kan leda till oväntat beteende eller fel eftersom launchpad.exe och sqlservr.exe har olika versioner.
Följ dessa steg för att få Machine Learning Services till samma version som databasmotorn:
Fastställa den kumulativa uppdatering som du har för databasmotorn. Kör den här T-SQL-instruktionen:
SELECT @@VERSIONHär är ett exempel på utdata från 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)Mer information finns i Fastställa version, utgåva och uppdateringsnivå för SQL Server och dess komponenter.
Om det behövs laddar du ned den kumulativa uppdatering som du har installerat för databasmotorn.
Kör installationen av den kumulativa uppdateringen och följ anvisningarna för att installera den för Machine Learning Services igen. Välj den befintliga instans där Machine Learning Services är installerat. Uppgraderingsstatusen visar Ofullständigt installerad på sidan Funktionsval .
Välj Nästa och fortsätt med installationen.
Ny installation
Om du installerar Machine Learning Services med en ny installation av SQL Server-databasmotorn rekommenderar vi att du tillämpar den senaste kumulativa uppdateringen på både databasmotorn och maskininlärningskomponenterna.
På Internetanslutna enheter tillämpas kumulativa uppdateringar vanligtvis via Windows Update. Men du kan också använda följande steg för kontrollerade uppdateringar. När du tillämpar uppdateringen för databasmotorn hämtar konfigurationen kumulativa uppdateringar för alla Python- eller R-funktioner som du har installerat på samma instans.
Frånkopplade servrar kräver extra steg. Mer information finns i Installera på datorer utan Internetåtkomst > Tillämpa kumulativa uppdateringar.
Börja med en baslinjeinstans som redan är installerad: DEN första versionen av SQL Server.
Välj den senaste kumulativa uppdateringen. En körbar fil laddas ned och extraheras automatiskt.
Kör installationsprogrammet och godkänn licensvillkoren.
På sidan Funktionsval granskar du de funktioner för vilka kumulativa uppdateringar tillämpas. Du bör se alla funktioner som är installerade för den aktuella instansen, inklusive maskininlärningsfunktioner. Installationsprogrammet laddar ned DE CAB-filer som krävs för att uppdatera alla funktioner.
Fortsätt genom guiden. Godkänn licensvillkoren för R- och Python-distributioner.
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 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:
- Konfigurera en brandvägg för SQL Server Machine Learning Services
- Aktivera ytterligare nätverksprotokoll
- Aktivera fjärranslutningar
- Skapa en inloggning för SQLRUserGroup
- Hantera diskkvoter för att förhindra att externa skript kör uppgifter som avtömmer diskutrymmet
I 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 Isoleringsändringar för Machine Learning Services.
I databasen kan du behöva konfigurationsuppdateringar. Mer information finns i Ge användare behörighet till SQL Server Machine Learning Services.
Anmärkning
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.
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.
Lägga till fler arbetskonton
Om du förväntar dig att många användare ska köra skript samtidigt kan du öka antalet arbetskonton som har tilldelats till Launchpad-tjänsten. Mer information finns i Skala samtidig körning av externa skript i SQL Server Machine Learning Services.
Optimera servern för skriptkörning
Standardinställningarna för SQL Server-konfigurationen är avsedda att optimera serverns balans för en mängd andra tjänster och program.
Under standardinställningar begränsas eller hämmas 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 en extern resurspool.
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 och Installera nya R-paket.