Dela via


Uppgradera Python- och R-körning med bindning i SQL Server Machine Learning Services

gäller för: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Viktig

Stödet för Machine Learning Server (tidigare kallat R Server) upphörde den 1 juli 2022. Mer information finns i Vad händer med Machine Learning Server?

Den här artikeln beskriver hur du använder am-installationsprocessen bindning för att uppgradera R- eller Python-körningen i SQL Server 2016 R Services eller SQL Server 2017 Machine Learning Services. Du kan hämta nyare versioner av Python och R genom att ansluta till Microsoft Machine Learning Server.

Viktig

I den här artikeln beskrivs en gammal metod för att uppgradera runtime-miljöerna för R och Python, som kallas för bindning. Om du har installerat kumulativ uppdatering (CU) 14 eller senare för SQL Server 2016 Services Pack (SP) 2 eller Kumulativ uppdatering (CU) 22 eller senare för SQL Server 2017kan du läsa mer i ändra standardkörningen för R- eller Python-språk till en senare version i stället.

Vad är bindning?

Bindning är en installationsprocess som ersätter innehållet i dina R_SERVICES- och PYTHON_SERVICES mappar med nyare körbara filer, bibliotek och verktyg från Microsoft Machine Learning Server.

De uppladdade komponenterna som ingår i servicemodellen har ändrats. Tjänstuppdateringarna matchar tidslinjen för support för Microsoft R Server & Machine Learning Servermodern livscykel.

Förutom komponentversioner och tjänstuppdateringar ändrar bindningen inte grunderna för installationen:

  • Python- och R-integrering är fortfarande en del av en databasmotorinstans.
  • Licensiering är oförändrad (inga ytterligare kostnader som är associerade med bindning).
  • SQL Server-stödprinciper finns fortfarande kvar för databasmotorn.

I resten av den här artikeln beskrivs bindningsmekanismen och hur den fungerar för varje version av SQL Server.

Note

Bindning gäller endast för instanser i databasen som är bundna till SQL Server-instanser. I det här fallet krävs inte bindning för en fristående installation.

bindningsöverväganden för SQL Server 2016

För SQL Server 2016 R Services-kunder tillhandahåller bindning:

  • Uppdaterade R-paket.
  • Nya paket ingår inte i den ursprungliga installationen (MicrosoftML)
  • Förtränad maskininlärning modeller för attitydanalys och bildidentifiering.

All bindning kan uppdateras ytterligare vid varje ny större och mindre version av Microsoft Machine Learning Server.

Versionskarta

Följande tabeller är versionskartor. Varje karta visar paketversioner över olika utgåvor. Du kan granska uppgraderingsvägar när du binder till Microsoft Machine Learning Server (tidigare kallat R Server, innan Python-stöd läggs till från Machine Learning Server 9.2.1).

Bindningen garanterar inte den senaste versionen av R eller Anaconda. När du binder till Microsoft Machine Learning Server får du R- eller Python-versionen installerad via installationsprogrammet, som kanske inte är den senaste versionen som är tillgänglig på webben.

SQL Server 2016 R Services

Komponent Första versionen R Server 9.0.1 R Server 9.1 Machine Learning Server 9.2.1 Machine Learning Server 9.3 Machine Learning Server 9.4.7
Microsoft R Open (MRO) jämfört med R R 3.2.2 R 3.3.2 R 3.3.3 R 3.4.1 R 3.4.3 R 3.5.2
RevoScaleR 8.0.3 9.0.1 9.1 9.2.1 9.3 9.4.7
MicrosoftML- n.a. 9.0.1 9.1 9.2.1 9.3 9.4.7
förtränade modeller ej tillämpligt 9.0.1 9.1 9.2.1 9.3 9.4.7
sqlrutils ej tillämpligt 1.0 1.0 1.0 1.0 1.0
olapR n.a. 1.0 1.0 1.0 1.0 1.0

SQL Server 2017 Machine Learning Services

Komponent Första versionen Machine Learning Server 9.3 Machine Learning Server 9.4.7
Microsoft R Open (MRO) för R R 3.3.3 R 3.4.3 R 3.5.2
RevoScaleR 9.2 9.3 9.4.7
MicrosoftML 9.2 9.3 9.4.7
sqlrutils 1.0 1.0 1.0
olapR 1.0 1.0 1.0
Anaconda 4.2 över Python 3.5 4.2/3.5.2 4.2/3.5.2
revoscalepy 9.2 9.3 9.4.7
microsoftml 9.2 9.3 9.4.7
förtränad modeller 9.2 9.3 9.4.7

Så här fungerar komponentuppgradering

Körbara filer, Python- och R-bibliotek uppgraderas när du binder en befintlig installation av Python och R till Machine Learning Server.

Bindningen körs av installationsprogrammet Microsoft Machine Learning Server när du kör installationsprogrammet på en befintlig SQL Server-databasmotorinstans med Python- eller R-integrering.

Installationsprogrammet identifierar befintliga funktioner och uppmanar dig att binda om till Machine Learning Server.

Under bindningen skrivs innehållet i C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES och \PYTHON_SERVICES över med de nyare körbara filerna och biblioteken i C:\Program Files\Microsoft\ML Server\R_SERVER och \PYTHON_SERVER.

Bindning gäller endast python- och R-funktioner. Paket med öppen källkod för Python och R består av:

  • Anakonda
  • Microsoft R Open
  • Proprietära paket RevoScaleR
  • Revoscalepy

Bindningen ändrar inte stödmodellen för databasmotorinstansen eller versionen av SQL Server.

Bindningen är reversibel. Du kan återgå till SQL Server-service genom att avbinda instansen och reparera din SQL Server-databasmotorinstans.

Anslut till Machine Learning Server med installationsprogrammet

Följ stegen för att binda SQL Server till Microsoft Machine Learning Server med hjälp av konfigurationen.

  1. I SSMS kör du SELECT @@version för att verifiera att servern uppfyller minimikraven för bygget.

    För SQL Server 2016 R Services är minimum Service Pack 1 och CU3.

  2. Kontrollera versionen av R-bas- och RevoScaleR-paketen för att bekräfta att de befintliga versionerna är lägre än vad du planerar att ersätta dem med.

    EXECUTE sp_execute_external_script
    @language=N'R'
    ,@script = N'str(OutputDataSet);
    packagematrix <- installed.packages();
    Name <- packagematrix[,1];
    Version <- packagematrix[,3];
    OutputDataSet <- data.frame(Name, Version);'
    , @input_data_1 = N''
    WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))
    
  3. Stäng SSMS och andra verktyg som har en öppen anslutning till SQL Server. Bindning skriver över programfiler. Om SQL Server har öppna sessioner misslyckas bindningen med bindningsfelkod 6.

  4. Ladda ned Microsoft Machine Learning Server till datorn som har den instans som du vill uppgradera. Vi rekommenderar den senaste versionen.

  5. Packa upp mappen och starta ServerSetup.exe, som finns under MLSWIN93.

  6. Konfigurera installationenkontrollerar du vilka komponenter som ska uppgraderas och granskar listan över kompatibla instanser.

  7. På sidan licensavtal väljer du jag godkänner dessa villkor för att godkänna licensvillkoren för Machine Learning Server.

  8. På efterföljande sidor ger du medgivande till ytterligare licensvillkor för alla komponenter med öppen källkod som du har valt, till exempel Microsoft R Open eller Python Anaconda-distributionen.

  9. På sidan Nästan där, anteckna installationsmappen. Standardmappen är \Program Files\Microsoft\ML Server.

    Om du vill ändra installationsmappen väljer du Avancerat för att återgå till den första sidan i guiden. Du måste dock upprepa alla tidigare val.

Om uppgraderingen misslyckas kontrollerar du SqlBindR-felkoder för mer information.

Offlinebindning (ingen internetåtkomst)

För system utan internetanslutning kan du ladda ned installationsprogrammet och .cab filer till en Internetansluten dator och sedan överföra filer till den isolerade servern.

Installationsprogrammet (ServerSetup.exe) innehåller Microsoft-paketen (RevoScaleR, MicrosoftML, olapR, sqlRUtils). De .cab filerna innehåller andra kärnkomponenter. Till exempel tillhandahåller "SRO"-caben R Open, Microsofts distribution av R med öppen källkod.

Följande instruktioner beskriver hur du placerar filerna för en offlineinstallation.

  1. Ladda ned installationsprogrammet för MLSWIN93. Den laddas ned som en enda zippad fil. Vi rekommenderar den senaste versionen, men du kan även installera tidigare versioner.

  2. Ladda ned .cab filer. Följande länkar är för 9.3-versionen. Om du behöver tidigare versioner finns ytterligare länkar i R Server 9.1. Kom ihåg att Python/Anaconda bara kan läggas till i en SQL Server Machine Learning Services-instans. Förtränade modeller finns för både Python och R. .cab innehåller modeller på de språk som du använder.

    Funktion Ladda ned
    R SRO_3.4.3.0_1033.cab
    Python SPO_9.3.0.0_1033.cab
    Förtränade modeller MLM_9.3.0.0_1033.cab
  3. Överför .zip och .cab filer till målservern.

  4. På servern skriver du %temp% i kommandot Kör för att hämta den fysiska platsen för temp-katalogen. Den fysiska sökvägen varierar beroende på dator, men den är vanligtvis C:\Users\<your-user-name>\AppData\Local\Temp.

  5. Placera .cab-filerna i mappen %temp%.

  6. Packa upp installationsprogrammet.

  7. Kör ServerSetup.exe och följ anvisningarna på skärmen för att slutföra installationen.

Kommandoradsåtgärder

Tips

Hittar du inte SqlBindR? Du har förmodligen inte kört installationsprogrammet. SqlBindR är endast tillgängligt när du har kört Installationsprogrammet för Machine Learning Server.

  1. Öppna en kommandotolk som administratör och navigera till mappen som innehåller sqlbindr.exe. Standardplatsen är C:\Program Files\Microsoft\MLServer\Setup

  2. Skriv följande kommando för att visa en lista över tillgängliga instanser: SqlBindR.exe /list

    Anteckna det fullständiga instansnamnet som anges. Instansnamnet kan till exempel vara MSSQL14. MSSQLSERVER för en standardinstans, eller något som SERVERNAME. MYNAMEDINSTANCE.

  3. Kör kommandot SqlBindR.exe med argumentet /bind. Ange namnet på den instans som ska uppgraderas med instansnamnet som returnerades i föregående steg.

    Om du till exempel vill uppgradera standardinstansen skriver du: SqlBindR.exe /bind MSSQL14.MSSQLSERVER

  4. När uppgraderingen har slutförts startar du om Launchpad-tjänsten som är associerad med alla instanser som har ändrats.

Återställa eller avbinda en instans

Du kan återställa en bunden instans till en första installation av Python- och R-komponenterna som upprättas av SQL Server-installationen. Det finns tre delar för att återgå till SQL Server-servicen.

Steg 1: Ta bort bindning

Du har två alternativ för att återställa bindningen: kör om konfigurationen eller använd kommandoradsverktyget SqlBindR.

Ta bort bindning med hjälp av installationsprogrammet

  1. Leta upp installationsprogrammet för Machine Learning Server. Om du har tagit bort installationsprogrammet kan du behöva ladda ned det igen eller kopiera det från en annan dator.
  2. Se till att köra installationsprogrammet på den dator som har den instans som du vill avbinda.
  3. Installationsprogrammet identifierar lokala instanser som är kandidater för avbindning.
  4. Avmarkera kryssrutan bredvid den instans som du vill återgå till den ursprungliga konfigurationen.
  5. Acceptera alla licensavtal.
  6. Välj Slutför. Processen tar en stund.

Ta bort bindning med hjälp av kommandoraden

  1. Öppna en kommandotolk och navigera till mappen som innehåller sqlbindr.exe, enligt beskrivningen i föregående avsnitt.

  2. Kör kommandot SqlBindR.exe med argumentet /unbind och ange instansen.

    Följande kommando återställer till exempel standardinstansen:

    SqlBindR.exe /unbind MSSQL14.MSSQLSERVER

Steg 2: Reparera SQL Server-instansen

Kör SQL Server-installationen för att reparera databasmotorinstansen med Python- och R-funktionerna. Befintliga uppdateringar bevaras. Nästa steg gäller om en uppdatering missades för underhållsuppdateringarna till Python- och R-paket.

Alternativ lösning: Avinstallera och installera om databasmotorinstansen helt och tillämpa sedan alla tjänstuppdateringar.

Steg 3: Lägg till paket från tredje part

Du kan ha lagt till andra paket med öppen källkod eller tredje part i paketbiblioteket. Eftersom om du återställer bindningen växlar platsen för standardpaketbiblioteket måste du installera om paketen till det bibliotek som Python och R nu använder. Mer information finns i R-paketinformation och installationoch Python-paketinformation och installation.

SqlBindR.exe kommandosyntax

Användning

sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]

Parametrar

Namn Beskrivning
lista Visar en lista över alla SQL Server-instans-ID:t på den aktuella datorn
bind Uppgraderar den angivna SQL Server-instansen till den senaste versionen av R Server och ser till att instansen automatiskt hämtar framtida uppgraderingar av R Server
ta bort bindning Avinstallerar den senaste versionen av R Server från den angivna SQL Server-instansen och förhindrar att framtida R Server-uppgraderingar påverkar instansen

Bindningsfel

Machine Learning Server Installer och SqlBindR returnerar båda följande felkoder och meddelanden.

Felkod Meddelande Detaljer
Bindningsfel 0 Ok (lyckades) Bindningen klarades utan fel.
Bindningsfel 1 Ogiltiga argument Syntaxfel.
Bindningsfel 2 Ogiltig åtgärd Syntaxfel.
Bindningsfel 3 Ogiltig instans Det finns en instans, men den är inte giltig för bindning.
Bindningsfel 4 Kan inte bindas
Bindningsfel 5 Redan bunden Du körde kommandot bindning, men den angivna instansen är redan bunden.
Bindningsfel 6 Bindningen misslyckades Ett fel uppstod när instansen skulle kopplas från. Det här felet kan inträffa om du kör installationsprogrammet för Machine Learning Server utan att välja några funktioner. Bindning kräver att du väljer både en MSSQL-instans och Python och R, förutsatt att instansen är SQL Server 2017. Det här felet uppstår också om SqlBindR inte kunde skriva till mappen Program Files. Öppna sessioner eller handtag till SQL Server gör att det här felet uppstår. Om du får det här felet startar du om datorn och gör om bindningsstegen innan du startar några nya sessioner.
Bindningsfel 7 Inte bunden Databasmotorinstansen har R Services eller SQL Server Machine Learning Services. Instansen är inte bunden till Microsoft Machine Learning Server.
Bindningsfel 8 Det gick inte att ta bort bindningen Ett fel uppstod när instansen skulle kopplas loss.
Bindningsfel 9 Inga förekomster hittades Inga databasmotorinstanser hittades på den här datorn.

Kända problem

Det här avsnittet innehåller kända problem som är specifika för användning av verktyget SqlBindR.exe eller uppgraderingar av Machine Learning Server som kan påverka SQL Server-instanser.

Återställa paket som tidigare har installerats

SqlBindR.exe kan inte återställa ursprungliga paket eller R-komponenter med uppgradering till Microsoft R Server 9.0.1. Använd SQL Server-reparation på den aktuella instansen och tillämpa alla serviceutgåvor. Starta om instansen.

Senare version av SqlBindR återställer automatiskt de ursprungliga R-funktionerna, vilket eliminerar behovet av ominstallation av R-komponenter eller återställer servern. Du måste dock installera eventuella R-paketuppdateringar som kan ha lagts till efter den första installationen.

Använd R-kommandon för att synkronisera installerade paket till filsystemet med hjälp av poster i databasen. Mer information finns i R-pakethantering för SQL Server.

Problem med överskriven sqlbinr.ini-fil i SQL Server

Scenario: Det här problemet uppstår vid bindning av Machine Learning Server 9.4.7 till SQL Server 2017. När Python uppdateras och binds eller när du uppdaterar till en ny CU förstår det inte att Python är bundet och skriver över filer. Det finns inget känt problem med R.

Som en lösning skapar du en sqlbindr.ini fil i PYTHON_SERVICES katalog som inte är tom. Innehållet påverkar inte hur filen fungerar.

Skapa en sqlbindr.ini fil som innehåller 9.4.7.82, spara på den här platsen:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Problem med flera uppgraderingar från SQL Server

Scenario: Tidigare uppgraderad instans av SQL Server 2016 R Services till 9.0.1. Körde det nya installationsprogrammet för Microsoft R Server 9.1.0. Installationsprogrammet visar en lista över alla giltiga instanser. Som standard väljer installationsprogrammet tidigare bundna instanser. Om du fortsätter är de tidigare bundna instanserna obundna. Resultatet är att den tidigare 9.0.1-installationen tas bort och eventuella relaterade paket, men den nya versionen av Microsoft R Server (9.1.0) är inte installerad.

Som en lösning kan du ändra den befintliga R Server-installationen på följande sätt:

  1. Öppna Lägg till eller ta bort programpå Kontrollpanelen.
  2. Leta upp Microsoft R Server och välj Ändra/ändra.
  3. När installationsprogrammet startar väljer du de instanser som du vill binda till 9.1.0.

Microsoft Machine Learning Server 9.2.1 och 9.3 har inte det här problemet.

Bindning eller avbindning lämnar flera temporära mappar

Ta bort temporära mappar när installationen är klar.

Notera

Vänta tills installationen är klar. Det kan ta lång tid att ta bort R-bibliotek som är associerade med en version och sedan lägga till de nya R-biblioteken. När åtgärden är klar tas temporära mappar bort.

Se även