Python- en R-runtime upgraden met binding in SQL Server Machine Learning Services
Van toepassing op: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
Belangrijk
De ondersteuning voor Machine Learning Server (voorheen bekend als R Server) is beëindigd op 1 juli 2022. Zie Wat gebeurt er met Machine Learning Server voor meer informatie?
In dit artikel wordt beschreven hoe u am-installatieproces met de naam binding gebruikt om de R- of Python-runtimes bij te werken in SQL Server 2016 R Services of SQL Server 2017 Machine Learning Services. U kunt nieuwere versies van Python en R ophalen door te binden aan Microsoft Machine Learning Server-.
Belangrijk
In dit artikel wordt een oude methode beschreven voor het upgraden van de R- en Python-runtimes, bindinggenoemd. Als u cumulatieve update (CU) 14 of hoger hebt geïnstalleerd voor SQL Server 2016 Services Pack (SP) 2 of cumulatieve update (CU) 22 of hoger voor SQL Server 2017, raadpleegt u hoe u de standaard-R- of Python-taalruntime kunt wijzigen in een latere versie.
Wat is binding?
Binding is een installatieproces dat de inhoud van uw R_SERVICES en PYTHON_SERVICES mappen vervangt door nieuwere uitvoerbare bestanden, bibliotheken en hulpprogramma's van Microsoft Machine Learning Server.
De geüploade onderdelen die zijn opgenomen in het onderhoudsmodel, zijn gewijzigd. De service-updates komen overeen met de ondersteuningstijdlijn voor Microsoft R Server & Machine Learning Server op de moderne levenscyclus.
Met uitzondering van onderdeelversies en service-updates, verandert binding niet de basisbeginselen van uw installatie:
- Python- en R-integratie maakt nog steeds deel uit van een database-engine-exemplaar.
- Licentieverlening is ongewijzigd (geen extra kosten gekoppeld aan binding).
- Het ondersteuningsbeleid voor SQL Server blijft van kracht voor de database-engine.
In de rest van dit artikel wordt het bindingsmechanisme uitgelegd en hoe het werkt voor elke versie van SQL Server.
Notitie
Binding is alleen van toepassing op in-database-exemplaren die zijn gebonden aan SQL Server-exemplaren. In dit geval is binding niet nodig voor een zelfstandige installatie.
overwegingen met betrekking tot bindingen van SQL Server 2016
Voor SQL Server 2016 R Services-klanten biedt binding het volgende:
- R-pakketten bijgewerkt.
- Nieuwe pakketten die geen deel uitmaken van de oorspronkelijke installatie (MicrosoftML)
- Vooraf getrainde machine learning-modellen voor sentimentanalyse en afbeeldingsdetectie.
Alle bindingen kunnen verder worden vernieuwd bij elke nieuwe primaire en secundaire versie van Microsoft Machine Learning Server.
Versieoverzicht
De volgende tabellen zijn versiekaarten. Elk overzicht toont pakketversies over verschillende releases. U kunt upgradepaden controleren wanneer u verbinding met Microsoft Machine Learning Server (voorheen R Server genoemd) koppelt vóór het toevoegen van Python-ondersteuning vanaf Machine Learning Server 9.2.1.
De binding garandeert niet de nieuwste versie van R of Anaconda. Wanneer u verbinding maakt met Microsoft Machine Learning Server, wordt de R- of Python-versie geïnstalleerd via Setup. Dit is mogelijk niet de nieuwste versie die beschikbaar is op internet.
Bestanddeel | Eerste release | 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) boven 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.v.t. | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
vooraf getrainde modellen | n.v.t. | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
sqlrutils | niet van toepassing | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
olapR- | n.v.t. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
SQL Server 2017 Machine Learning Services
Bestanddeel | Eerste versie | Machine Learning Server 9.3 | Machine Learning Server 9.4.7 |
---|---|---|---|
Microsoft R Open (MRO) over 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 boven 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 |
vooraf getrainde modellen | 9.2 | 9.3 | 9.4.7 |
Hoe een onderdeel-upgrade werkt
Uitvoerbare bestanden, Python- en R-bibliotheken worden bijgewerkt wanneer u een bestaande installatie van Python en R verbindt met Machine Learning Server.
Binding wordt uitgevoerd door het installatieprogramma van Microsoft Machine Learning Server wanneer u Setup uitvoert op een bestaande instantie van de databamotor van SQL Server met Python- of R-integratie.
Setup detecteert de bestaande functies en vraagt u opnieuw te koppelen aan Machine Learning Server.
Tijdens de binding wordt de inhoud van C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES
en \PYTHON_SERVICES
overschreven met de nieuwere uitvoerbare bestanden en bibliotheken van C:\Program Files\Microsoft\ML Server\R_SERVER
en \PYTHON_SERVER
.
Binding is alleen van toepassing op Python- en R-functies. Opensource-pakketten voor Python en R bestaan uit:
- Anaconda
- Microsoft R Open
- Bedrijfseigen pakketten RevoScaleR
- Revoscalepy
De binding wijzigt het ondersteuningsmodel voor de database-engine-instantie of de versie van SQL Server niet.
Binding is omkeerbaar. U kunt het onderhoud van SQL Server herstellen door het exemplaar te los te koppelen en het exemplaar van de SQL Server-database-engine te herstellen.
Verbinden met Machine Learning Server met behulp van Setup
Volg de stappen om SQL Server te binden aan Microsoft Machine Learning Server met behulp van setup.
Voer in SSMS
SELECT @@version
uit om te controleren of de server voldoet aan de minimale buildvereisten.Voor SQL Server 2016 R Services is het minimum Service Pack 1 en CU3-.
Controleer de versie van R-basis- en RevoScaleR-pakketten om te bevestigen dat de bestaande versies lager zijn dan waarmee u ze wilt vervangen.
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) ))
Sluit SSMS en andere hulpprogramma's met een open verbinding met SQL Server. Binding overschrijft programmabestanden. Als SQL Server open sessies heeft, mislukt de binding met bindingsfout 6.
Download Microsoft Machine Learning Server op de computer met het exemplaar dat u wilt upgraden. We raden de nieuwste versieaan.
Pak de map uit en start ServerSetup.exeonder MLSWIN93.
Bevestig op De installatie configurerende onderdelen die moeten worden bijgewerkt en controleer de lijst met compatibele versies.
Op de pagina Gebruiksrechtovereenkomst, selecteer Ik ga akkoord met deze voorwaarden om de licentievoorwaarden voor Machine Learning Server te accepteren.
Geef op opeenvolgende pagina's toestemming voor aanvullende licentievoorwaarden voor alle opensource-onderdelen die u hebt geselecteerd, zoals Microsoft R Open of de Python Anaconda-distributie.
Noteer de installatiemap op de Bijna pagina. De standaardmap is \Program Files\Microsoft\ML Server.
Als u de installatiemap wilt wijzigen, selecteert u Geavanceerde om terug te keren naar de eerste pagina van de wizard. U moet echter alle vorige selecties herhalen.
Als de upgrade mislukt, controleert u SqlBindR-foutcodes voor meer informatie.
Offlinebinding (geen internettoegang)
Voor systemen zonder internetverbinding kunt u het installatieprogramma en .cab bestanden downloaden naar een computer met internetverbinding en vervolgens bestanden overdragen naar de geïsoleerde server.
Het installatieprogramma (ServerSetup.exe) bevat de Microsoft-pakketten (RevoScaleR, MicrosoftML, olapR, sqlRUtils). De .cab-bestanden bieden andere kernonderdelen. De cab 'SRO' biedt bijvoorbeeld R Open, de distributie van opensource R van Microsoft.
In de volgende instructies wordt uitgelegd hoe u de bestanden voor een offline-installatie plaatst.
Download het MLSWIN93-installatieprogramma. Het wordt als één enkel gecomprimeerd bestand gedownload. We raden de nieuwste versieaan, maar u kunt ook eerdere versiesinstalleren.
Download de .cab bestanden. De volgende koppelingen zijn voor de versie 9.3. Als u eerdere versies nodig hebt, kunt u aanvullende koppelingen vinden in R Server 9.1. Zoals u weet, kan Python/Anaconda alleen worden toegevoegd aan een SQL Server Machine Learning Services-exemplaar. Vooraf getrainde modellen bestaan voor zowel Python als R; de .cab biedt modellen in de talen die u gebruikt.
Kenmerk Downloaden R SRO_3.4.3.0_1033.cab Python SPO_9.3.0.0_1033.cab Vooraf getrainde modellen MLM_9.3.0.0_1033.cab Breng .zip en .cab bestanden over naar de doelserver.
Typ op de server
%temp%
in de opdracht Uitvoeren om de fysieke locatie van de tijdelijke map op te halen. Het fysieke pad varieert per computer, maar het is meestalC:\Users\<your-user-name>\AppData\Local\Temp
.Plaats de .cab bestanden in de map %temp%.
Pak het installatieprogramma uit.
Voer ServerSetup.exe uit en volg de aanwijzingen op het scherm om de installatie te voltooien.
Opdrachtregelbewerkingen
Fooi
Kunt u SqlBindR niet vinden? U hebt setup waarschijnlijk niet uitgevoerd. SqlBindR is alleen beschikbaar nadat Machine Learning Server Setup is uitgevoerd.
Open een opdrachtprompt als beheerder en navigeer naar de map met sqlbindr.exe. De standaardlocatie is C:\Program Files\Microsoft\MLServer\Setup
Typ de volgende opdracht om een lijst met beschikbare exemplaren weer te geven:
SqlBindR.exe /list
Noteer de volledige naam van het exemplaar zoals vermeld. De naam van het exemplaar kan bijvoorbeeld MSSQL14.MSSQLSERVER zijn voor een standaardexemplaar, of iets als SERVERNAME.MYNAMEDINSTANCE.
Voer SqlBindR.exe opdracht uit met het argument /bind. Geef de naam op van het exemplaar dat u wilt upgraden met behulp van de exemplaarnaam die in de vorige stap is geretourneerd.
Als u bijvoorbeeld het standaardexemplaar wilt upgraden, typt u:
SqlBindR.exe /bind MSSQL14.MSSQLSERVER
Wanneer de upgrade is voltooid, start u de Launchpad-service opnieuw op die is gekoppeld aan een exemplaar dat is gewijzigd.
Een exemplaar herstellen of de koppeling ongedaan maken
U kunt een gebonden instantie herstellen tot de oorspronkelijke installatie van de Python- en R-onderdelen, ingesteld door SQL Server Setup. Er zijn drie onderdelen om terug te keren naar het SQL Server-onderhoud.
- stap 1: De koppeling van Microsoft Machine Learning Server ongedaan maken
- stap 2: het exemplaar herstellen naar de oorspronkelijke status
- Stap 3: Herinstalleer alle pakketten die u aan de installatie hebt toegevoegd
Stap 1: De koppeling ongedaan maken
U hebt twee opties voor het terugdraaien van de binding: setup opnieuw uitvoeren of sqlBindR-opdrachtregelprogramma gebruiken.
Ontkoppelen via de Setup
- Zoek het installatieprogramma voor Machine Learning Server. Als u het installatieprogramma hebt verwijderd, moet u het mogelijk opnieuw downloaden of van een andere computer kopiëren.
- Zorg ervoor dat u het installatieprogramma uitvoert op de computer met het exemplaar dat u wilt losbinden.
- Het installatieprogramma identificeert lokale instanties die kandidaat zijn om de binding te verbreken.
- Schakel het selectievakje uit naast het exemplaar dat u wilt herstellen naar de oorspronkelijke configuratie.
- Accepteer alle licentieovereenkomsten.
- Selecteer voltooien. Het proces duurt even.
De koppeling opheffen met behulp van de opdrachtregel
Open een opdrachtprompt en navigeer naar de map met sqlbindr.exe, zoals beschreven in de vorige sectie.
Voer de opdracht SqlBindR.exe uit met het argument /unbind en geef het exemplaar op.
Met de volgende opdracht wordt bijvoorbeeld het standaardexemplaar hersteld:
SqlBindR.exe /unbind MSSQL14.MSSQLSERVER
Stap 2: het SQL Server-exemplaar herstellen
Voer SQL Server Setup uit om het exemplaar van de database-engine te herstellen met de Python- en R-functies. Bestaande updates blijven behouden. De volgende stap is van toepassing als een update is gemist voor de onderhoudsupdates voor Python- en R-pakketten.
Alternatieve oplossing: het exemplaar van de database-engine volledig verwijderen en opnieuw installeren en vervolgens alle service-updates toepassen.
Stap 3: eventuele pakketten van derden toevoegen
Mogelijk hebt u andere opensource- of externe pakketten toegevoegd aan uw pakketbibliotheek. Omdat het omkeren van de binding de locatie van de standaardpakketbibliotheek wijzigt, moet u de pakketten opnieuw installeren in de bibliotheek die Python en R nu gebruiken. Zie R-pakketinformatie en installatie-en Python-pakketinformatie en installatievoor meer informatie.
SqlBindR.exe opdrachtsyntaxis
Gebruik
sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]
Parameters
Naam | Beschrijving |
---|---|
lijst | Geeft een lijst weer met alle SQL Server-exemplaar-id's op de huidige computer |
binden | Upgradet het opgegeven SQL Server-exemplaar naar de nieuwste versie van R Server en zorgt ervoor dat het exemplaar automatisch toekomstige upgrades van R Server krijgt |
ontbinden | Hiermee verwijdert u de nieuwste versie van R Server van het opgegeven SQL Server-exemplaar en voorkomt u dat toekomstige R Server-upgrades van invloed zijn op het exemplaar |
Bindingsfouten
Machine Learning Server Installer en SqlBindR retourneren beide de volgende foutcodes en berichten.
Foutcode | Bericht | Bijzonderheden |
---|---|---|
Bindingsfout 0 | Ok (geslaagd) | Binding is zonder fouten geslaagd. |
Bindingsfout 1 | Ongeldige argumenten | Syntaxisfout. |
Koppelingsfout 2 | Ongeldige actie | Syntaxisfout. |
Bindingsfout 3 | Ongeldig exemplaar | Er bestaat een exemplaar, maar is niet geldig voor koppelingsdoeleinden. |
Bindingsfout 4 | Niet bindbaar | |
Bindingsfout 5 | Al gebonden | U hebt de opdracht binding uitgevoerd, maar het opgegeven exemplaar is al gebonden. |
Bindingsfout 6 | Binden is mislukt | Er is een fout opgetreden tijdens het ontkoppelen van de instantie. Deze fout kan optreden als u het Machine Learning Server-installatieprogramma uitvoert zonder functies te selecteren. Voor binding moet u zowel een MSSQL-exemplaar als Python en R selecteren, ervan uitgaande dat het exemplaar SQL Server 2017 is. Deze fout treedt ook op als SqlBindR niet kan schrijven naar de map Program Files. Als u sessies opent of verwerkt naar SQL Server, treedt deze fout op. Als u deze fout krijgt, start u de computer opnieuw op en voert u de bindingsstappen opnieuw uit voordat u nieuwe sessies start. |
Bindingsfout 7 | Niet gebonden | Het exemplaar van de database-engine heeft R Services of SQL Server Machine Learning Services. Het exemplaar is niet gebonden aan Microsoft Machine Learning Server. |
Bindingsfout 8 | Ontkoppelen mislukt | Er is een fout opgetreden tijdens het ontkoppelen van het exemplaar. |
Bindingsfout 9 | Er zijn geen exemplaren gevonden | Er zijn geen exemplaren van de database-engine gevonden op deze computer. |
Bekende problemen
In deze sectie vindt u bekende problemen die specifiek zijn voor het gebruik van het hulpprogramma SqlBindR.exe of voor upgrades van Machine Learning Server die van invloed kunnen zijn op SQL Server-exemplaren.
Pakketten herstellen die eerder zijn geïnstalleerd
SqlBindR.exe kan oorspronkelijke pakketten of R-onderdelen niet herstellen met een upgrade naar Microsoft R Server 9.0.1. Gebruik SQL Server-herstel op de instantie en pas alle servicereleases toe. Start het exemplaar opnieuw op.
Met een latere versie van SqlBindR worden de oorspronkelijke R-functies automatisch hersteld, waardoor R-onderdelen niet opnieuw hoeven te worden geïnstalleerd of de server opnieuw hoeft te worden gepatcht. U moet echter eventuele R-pakketupdates installeren die mogelijk na de eerste installatie zijn toegevoegd.
Gebruik R-opdrachten om geïnstalleerde pakketten te synchroniseren met het bestandssysteem met behulp van records in de database. Zie R-pakketbeheer voor SQL Servervoor meer informatie.
Problemen met overschreven sqlbinr.ini-bestand in SQL Server
Scenario: dit probleem treedt op bij het binden van Machine Learning Server 9.4.7 aan SQL Server 2017. Wanneer Python wordt bijgewerkt en gebonden of wanneer u naar een nieuwe CU bijwerkt, begrijpt Python niet dat Python gebonden is en overschrijft het bestanden. Er is geen bekend probleem met R.
Als tijdelijke oplossing maakt u een sqlbindr.ini
-bestand in de PYTHON_SERVICES map die niet leeg is. De inhoud heeft geen invloed op de werking van het bestand.
Maak een sqlbindr.ini
-bestand met 9.4.7.82, sla het bestand op deze locatie op:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
Problemen met meerdere upgrades van SQL Server
Scenario: Eerder bijgewerkt exemplaar van SQL Server 2016 R Services naar 9.0.1. Het nieuwe installatieprogramma voor Microsoft R Server 9.1.0 is uitgevoerd. Het installatieprogramma geeft een lijst weer met alle geldige exemplaren. Standaard selecteert het installatieprogramma eerder gebonden instanties. Als u doorgaat, worden de eerder gebonden exemplaren ongebonden. Het resultaat is de eerdere installatie 9.0.1 wordt verwijderd en eventuele gerelateerde pakketten, maar de nieuwe versie van Microsoft R Server (9.1.0) is niet geïnstalleerd.
Als tijdelijke oplossing kunt u de bestaande R Server-installatie als volgt wijzigen:
- In het Configuratiescherm, open Programma's toevoegen of verwijderen.
- Zoek Microsoft R Server en selecteer Wijzigen/Aanpassen.
- Wanneer het installatieprogramma wordt gestart, selecteert u de exemplaren die u wilt binden aan 9.1.0.
Microsoft Machine Learning Server 9.2.1 en 9.3 hebben dit probleem niet.
Binding of ontkoppeling laat meerdere tijdelijke mappen achter
Tijdelijke mappen verwijderen nadat de installatie is voltooid.
Notitie
Wacht totdat de installatie is voltooid. Het kan lang duren om R-bibliotheken te verwijderen die zijn gekoppeld aan één versie en vervolgens de nieuwe R-bibliotheken toe te voegen. Wanneer de bewerking is voltooid, worden tijdelijke mappen verwijderd.
Zie ook
- de standaardversie van de R- of Python-taalruntime wijzigen
- Machine Learning Server voor Windows (verbonden met internet) installeren
- Machine Learning Server voor Windows offline installeren
- Bekende problemen in Machine Learning Server
- aankondigingen van functies uit de vorige versie van R Server
- afgeschaft, niet meer ondersteund of gewijzigde functies