Megosztás a következőn keresztül:


Python- és R-futtatókörnyezet frissítése kötéssel a SQL Server Machine Learning Servicesben

A következőkre vonatkozik: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Fontos

A Machine Learning Server (korábbi nevén R Server) támogatása 2022. július 1-jén megszűnt. További információ: Mi történik a Machine Learning Serverrel?

Ez a cikk azt ismerteti, hogyan használhatja a kötésnek nevezett am telepítési folyamatot az R- vagy Python-futtatókörnyezetek frissítéséhez SQL Server 2016 R Services vagy SQL Server 2017 Machine Learning Services. A Python és az R újabb verzióit a Microsoft Machine Learning Serverhezvaló kötéssel szerezheti be.

Fontos

Ez a cikk az R- és Python-futtatókörnyezetek frissítésének régi módszerét ismerteti, az úgynevezett kötést. Ha telepítette a 14-es vagy újabb összegző frissítést (CU) SQL Server 2016 Service Pack (SP) 2 vagy a 22-es vagy újabb összegző frissítéshez (CU) SQL Server 2017-hez, tekintse meg, hogyan módosíthatja az alapértelmezett R- vagy Python-nyelvi futtatókörnyezetet egy újabb verzióra .

Mi az a kötés?

A kötés egy olyan telepítési folyamat, amely a R_SERVICES és PYTHON_SERVICES mappák tartalmát a Microsoft Machine Learning Server újabb végrehajtható fájljaira, kódtáraira és eszközeire cseréli.

A karbantartási modellhez tartozó feltöltött összetevők megváltoztak. A szolgáltatásfrissítések megfelelnek a Microsoft R Server és Machine Learning Server támogatási ütemtervének a modern életciklusban.

Az összetevőverziók és a szolgáltatásfrissítések kivételével a kötés nem módosítja a telepítés alapjait:

  • A Python és az R integráció továbbra is egy adatbázismotor-példány része.
  • A licencelés változatlan (a kötéssel kapcsolatban nincsenek további költségek).
  • SQL Server támogatási szabályzatok továbbra is érvényesek az adatbázismotorra.

A cikk további része ismerteti a kötési mechanizmust és annak működését a SQL Server egyes verzióiban.

Megjegyzés:

A kötés csak az adatbázison belüli példányokra vonatkozik, amelyek SQL Server példányokhoz vannak kötve. Ebben az esetben a kötés nem szükséges önálló telepítéshez.

SQL Server 2016 kötési szempontok

Az SQL Server 2016 R Services ügyfelei számára a kötés a következőket biztosítja:

  • Frissített R-csomagok.
  • Az eredeti telepítés részét nem képező új csomagok (MicrosoftML)
  • Előre betanított gépi tanulási modellek hangulatelemzéshez és képészleléshez.

Az összes kötés tovább frissíthető a Microsoft Machine Learning Server minden új fő- és alkiadásában.

Verzió térkép

Az alábbi táblázatok verziótérképek. Minden térkép a csomagok verzióit jeleníti meg a kiadások között. A frissítési útvonalakat áttekintheti, amikor a Microsoft Machine Learning Serverhez (korábbi nevén R-kiszolgálóhoz, a Python-támogatás hozzáadása előtt a Machine Learning Server 9.2.1-es verziójától) köt.

A kötés nem garantálja az R vagy az Anaconda legújabb verzióját. Amikor a Microsoft Machine Learning Serverhez köt, az R- vagy Python-verzió telepítve lesz a telepítőn keresztül, amely nem biztos, hogy a weben elérhető legújabb verzió.

SQL Server 2016 R szolgáltatások

Összetevő Kezdeti kiadás R szerver 9.0.1 R szerver 9.1 Machine Learning Server 9.2.1 Machine Learning Server 9.3 Machine Learning Server 9.4.7
Microsoft R Open (MRO) az R-en keresztül 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
Előre betanított modellek n.a. 9.0.1 9.1 9.2.1 9.3 9.4.7
sqlrutils n.a. 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

Összetevő Kezdeti kiadás Machine Learning Server 9.3 Machine Learning Server 9.4.7
Microsoft R Open (MRO) az R-en keresztül 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 Python 3.5 felett 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
Előre betanított modellek 9,2 9.3 9.4.7

Az összetevők frissítésének működése

A végrehajtható fájlok, a Python- és R-kódtárak frissítve lesznek, amikor a Python és az R meglévő telepítését Machine Learning Serverhez köti.

A kötést a Microsoft Machine Learning Server telepítője hajtja végre, amikor a telepítőt egy meglévő, Python- vagy R-integrációval rendelkező SQL Server adatbázismotor-példányon futtatja.

A telepítő észleli a meglévő funkciókat, és kéri, hogy kösse újra a Machine Learning Server.

A kötés során a és tartalma C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\PYTHON_SERVICES felülíródik az újabb C:\Program Files\Microsoft\ML Server\R_SERVERfuttatható fájlokkal és könyvtárakkal \PYTHON_SERVER és .

A kötés csak a Python és az R funkcióira vonatkozik. A Python és az R nyílt forráskódú csomagjai a következőkből állnak:

  • Anaconda
  • Microsoft R Open
  • Szabadalmaztatott csomagok RevoScaleR
  • Revoscalepy

A kötés nem módosítja az adatbázismotor-példány támogatási modelljét vagy a SQL Server verzióját.

A kötés visszafordítható. A SQL Server karbantartásához a példány leválasztásával és a SQL Server adatbázismotor-példány javításával térhet vissza.

Kötés Machine Learning Serverhez a telepítő használatával

Kövesse a lépéseket a SQL Server és a Microsoft Machine Learning Server telepítéssel való kötéséhez.

  1. Az SSMS-ben futtassa SELECT @@version annak ellenőrzését, hogy a kiszolgáló megfelel-e a minimális buildelési követelményeknek.

    Az SQL Server 2016 R Services esetében a minimális Service Pack 1 CU3-mal.

  2. Ellenőrizze az R-alap- és RevoScaleR-csomagok verzióját, és ellenőrizze, hogy a meglévő verziók alacsonyabbak-e, mint amire le szeretné cserélni őket.

    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. Zárja be az SSMS-t és minden más, a SQL Serverhez nyílt kapcsolattal rendelkező eszközt. A kötés felülírja a programfájlokat. Ha SQL Server nyitott munkamenetekkel rendelkezik, a kötés a 6-os kötési hibakóddal meghiúsul.

  4. Töltse le a Microsoft Machine Learning Server a frissíteni kívánt példányt tartalmazó számítógépre. A legújabb verziót ajánljuk.

  5. Csomagolja ki a mappát, és indítsa el ServerSetup.exe, amely a MLSWIN93 alatt található.

  6. A Telepítés konfigurálása lapon erősítse meg a frissíteni kívánt összetevőket, és tekintse át a kompatibilis példányok listáját.

  7. A Licencszerződés lapon válassza az Elfogadom ezeket a feltételeket lehetőséget a Machine Learning Server licencfeltételeinek elfogadásához.

  8. Az egymást követő oldalakon adja meg a további licencelési feltételeket a kiválasztott nyílt forráskódú összetevőkhöz, például a Microsoft R Openhez vagy a Python Anaconda-disztribúcióhoz.

  9. A Majdnem ott lapon jegyezze fel a telepítési mappát. Az alapértelmezett mappa a \Program Files\Microsoft\ML Server.

    Ha módosítani szeretné a telepítési mappát, válassza a Speciális lehetőséget a varázsló első lapjára való visszatéréshez. Azonban meg kell ismételnie az összes korábbi kijelölést.

Ha a frissítés sikertelen, további információért ellenőrizze az SqlBindR hibakódjait .

Offline kötés (nincs internet-hozzáférés)

Internetkapcsolat nélküli rendszerek esetén letöltheti a telepítőt és a .cab fájlokat egy internetkapcsolattal rendelkező számítógépre, majd átviheti a fájlokat az elkülönített kiszolgálóra.

A telepítő (ServerSetup.exe) tartalmazza a Microsoft csomagokat (RevoScaleR, MicrosoftML, olapR, sqlRUtils). A .cab fájlok más alapvető összetevőket is tartalmaznak. Például az "SRO" fülke biztosítja az R Opent, a Microsoft nyílt forráskódú R disztribúcióját.

Az alábbi utasítások elmagyarázzák, hogyan kell elhelyezni a fájlokat offline telepítéshez.

  1. Töltse le a MLSWIN93 telepítőt. Egyetlen tömörített fájlként töltődik le. Javasoljuk a legújabb verziót, de telepítheti a korábbi verziókat is.

  2. Töltse le .cab fájlokat. Az alábbi hivatkozások a 9.3-as kiadáshoz kapcsolódnak. Ha korábbi verziókra van szüksége, további hivatkozásokat találhat az R Server 9.1-ben. Ne feledje, hogy a Python/Anaconda csak SQL Server Machine Learning Services-példányhoz adható hozzá. Előre betanított modellek léteznek mind a Python, mind az R számára; A .cab az Ön által használt nyelveken biztosít modelleket.

    Tulajdonság Letöltés
    R SRO_3.4.3.0_1033.cab
    Piton SPO_9.3.0.0_1033.cab
    Előre betanított modellek MLM_9.3.0.0_1033.cab
  3. Fájlok átvitele .zip és .cab a célkiszolgálóra.

  4. A kiszolgálón írja be %temp% a Futtatás parancsot a temp könyvtár fizikai helyének lekéréséhez. A fizikai út gépenként változik, de általában C:\Users\<your-user-name>\AppData\Local\Temp.

  5. Helyezze a .cab fájlokat a %temp% mappába.

  6. Csomagolja ki a telepítőt.

  7. Futtassa ServerSetup.exe, és kövesse a képernyőn megjelenő utasításokat a telepítés befejezéséhez.

Parancssori műveletek

Jótanács

Nem találja az SqlBindR-t? Valószínűleg nem futtatta a telepítőt. Az SqlBindR csak a Machine Learning Server telepítőjének futtatása után érhető el.

  1. Nyisson meg egy parancssort rendszergazdaként, és keresse meg a sqlbindr.exetartalmazó mappát. Az alapértelmezett hely a C:\Program Files\Microsoft\MLServer\Setup

  2. Írja be a következő parancsot az elérhető példányok listájának megtekintéséhez: SqlBindR.exe /list

    Jegyezze fel a példány teljes nevét a felsorolt módon. Előfordulhat például, hogy a példány neve MSSQL14. MSSQLSERVER egy alapértelmezett példányhoz, vagy valami olyasmi, mint a SERVERNAME. MYNAMEDINSTANCE.

  3. Futtassa SqlBindR.exe parancsot a /bind argumentummal. Adja meg a frissíteni kívánt példány nevét az előző lépésben visszaadott példánynévvel.

    Az alapértelmezett példány frissítéséhez például írja be a következőt: SqlBindR.exe /bind MSSQL14.MSSQLSERVER

  4. A frissítés befejezése után indítsa újra a módosított példányokhoz társított Launchpad szolgáltatást.

Példány visszaállítása vagy leválasztása

A kötött példányokat visszaállíthatja a Python- és R-összetevők kezdeti telepítésére, amelyet a SQL Server telepítője hozott létre. A SQL Server karbantartáshoz való visszatérésnek három része van.

1. lépés: Kötés megszüntetése

A kötés visszaállítására két lehetőség közül választhat: futtassa újra a telepítést, vagy használja az SqlBindR parancssori segédprogramot.

Leválasztás a telepítővel

  1. Keresse meg a Machine Learning Server telepítőjét. Ha eltávolította a telepítőt, előfordulhat, hogy újra le kell töltenie, vagy át kell másolnia egy másik számítógépről.
  2. Ügyeljen arra, hogy a telepítőt azon a számítógépen futtassa, amelyen a leválasztani kívánt példány található.
  3. A telepítő azonosítja azokat a helyi példányokat, amelyek feloldhatók.
  4. Törölje a jelet annak a példánynak a jelölőnégyzetéből, amelyet vissza szeretne állítani az eredeti konfigurációra.
  5. Fogadja el az összes licencszerződést.
  6. Válassza ki a Befejezésopciót. A folyamat eltart egy ideig.

Leválasztás a parancssor használatával

  1. Nyisson meg egy parancssort, és keresse meg a sqlbindr.exemappát tartalmazó mappát az előző szakaszban leírtak szerint.

  2. Futtassa a SqlBindR.exe parancsot az /unbind argumentummal, és adja meg a példányt.

    A következő parancs például visszaállítja az alapértelmezett példányt:

    SqlBindR.exe /unbind MSSQL14.MSSQLSERVER

2. lépés: A SQL Server-példány javítása

Futtassa a SQL Server telepítőt a Python és az R funkciókkal rendelkező adatbázismotor-példány javításához. A rendszer megőrzi a már meglévő frissítéseket. A következő lépés akkor érvényes, ha a Python- és R-csomagok karbantartási frissítései kihagytak egy frissítést.

Alternatív megoldás: Távolítsa el és telepítse újra az adatbázismotor-példányt, majd alkalmazza az összes szolgáltatásfrissítést.

3. lépés: Harmadik féltől származó csomagok hozzáadása

Előfordulhat, hogy más nyílt forráskódú vagy harmadik féltől származó csomagokat is hozzáadott a csomagtárhoz. Mivel a kötés megfordítása megváltoztatja az alapértelmezett csomagtár helyét, újra kell telepítenie a csomagokat a Python és az R által használt kódtárba. További információ: R-csomag adatai és telepítése, valamint Python-csomag adatai és telepítése.

SqlBindR.exe parancs szintaxisa

Használat

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

Paraméterek

Név Leírás
lista Megjeleníti az aktuális számítógépen található összes SQL Server-példányazonosító listáját
hozzárendelés Frissíti a megadott SQL Server-példányt az R Server legújabb verziójára, és biztosítja, hogy a példány automatikusan megkapja az R Server jövőbeli frissítéseit
Szüntesse Eltávolítja az R Server legújabb verzióját a megadott SQL Server-példányról, és megakadályozza, hogy a jövőbeli R Server-frissítések hatással legyenek a példányra

Kötési hibák

Machine Learning Server Installer és SqlBindR egyaránt a következő hibakódokat és üzeneteket adja vissza.

Hibakód Üzenet Részletek
Kötési hiba 0 Ok (sikeres) A kötés hiba nélkül sikerült.
1. kötési hiba Érvénytelen argumentumok Szintaktikai hiba.
2. kötési hiba Érvénytelen művelet Szintaktikai hiba.
3. kötési hiba Érvénytelen példány Létezik egy példány, de nem érvényes a kötéshez.
4. kötési hiba Nem kötelező
Kötési hiba 5 Már kötve Futtatta a bind parancsot, de a megadott példány már le van kötve.
Kötési hiba 6 A kötés nem sikerült Hiba történt a példány leválasztása során. Ez a hiba akkor fordulhat elő, ha a Machine Learning Server telepítőjét szolgáltatások kiválasztása nélkül futtatja. A kötéshez ki kell választania egy MSSQL-példányt, valamint a Pythont és az R-t, feltéve, hogy a példány SQL Server 2017. Ez a hiba akkor is előfordul, ha az SqlBindR nem tudott írni a Program Files mappába. A SQL Server megnyitott munkamenetek vagy leírók ezt a hibát okozzák. Ha ezt a hibaüzenetet kapja, indítsa újra a számítógépet, és ismételje meg a kötési lépéseket, mielőtt új munkameneteket indítana.
Kötési hiba 7 Nincs kötve Az adatbázismotor-példány R-szolgáltatásokkal vagy SQL Server Machine Learning Services. A példány nincs kötve a Microsoft Machine Learning Serverhez.
Kötési hiba 8 A lekötés nem sikerült Hiba történt a példány leválasztása során.
Kötési hiba 9 Nem található példány Ezen a számítógépen nem található adatbázismotor-példány.

Ismert problémák

Ez a szakasz a SqlBindR.exe segédprogram használatával vagy a Machine Learning Server frissítéseivel kapcsolatos ismert problémákat sorolja fel, amelyek hatással lehetnek SQL Server példányokra.

Korábban telepített csomagok visszaállítása

SqlBindR.exe nem sikerül visszaállítani az eredeti csomagokat vagy R-összetevőket a Microsoft R Server 9.0.1-re való frissítéssel. Használja SQL Server javítást a példányon, és alkalmazza az összes szolgáltatáskiadást. Indítsa újra a példányt.

Az SqlBindR újabb verziója automatikusan visszaállítja az eredeti R-funkciókat, így nincs szükség az R-összetevők újratelepítésére vagy a kiszolgáló javítására. Telepítenie kell azonban az R-csomag frissítéseit, amelyeket a kezdeti telepítés után adtak hozzá.

Az R parancsokkal szinkronizálhatja a telepített csomagokat a fájlrendszerrel az adatbázis rekordjai segítségével. További információ: R-csomagkezelés SQL Server.

Problémák a felülírt sqlbinr.ini fájllal az SQL Serverben

Forgatókönyv: Ez a probléma akkor fordul elő, ha Machine Learning Server 9.4.7-et köt a SQL Server 2017-hez. Amikor a Python frissül és le van kötve, vagy amikor új CU-ra frissít, nem érti, hogy a Python kötött, és felülírja a fájlokat. Nincs ismert probléma az R-rel.

Áthidaló megoldásként hozzon létre egy sqlbindr.ini fájlt a PYTHON_SERVICES könyvtárban, amely nem üres. A tartalom nincs hatással a fájl működésére.

Hozzon létre egy sqlbindr.ini fájlt, amely tartalmazza a 9.4.7.82-t, és mentse a következő helyre:

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

Problémák az SQL Server többszörös frissítésével

Forgatókönyv: A SQL Server 2016 R Services korábban frissített példánya 9.0.1-re. Végrehajtotta a Microsoft R Server 9.1.0 új telepítőjét. A telepítő megjeleníti az összes érvényes példány listáját. Alapértelmezés szerint a telepítő kiválasztja a korábban kötött példányokat. Ha folytatja, a korábban kötött példányok kötetlenek lesznek. Az eredmény az, hogy a korábbi 9.0.1-es telepítés el lesz távolítva, és a kapcsolódó csomagok, de a Microsoft R Server (9.1.0) új verziója nincs telepítve.

Megkerülő megoldásként az alábbiak szerint módosíthatja a meglévő R Server telepítést:

  1. A Vezérlőpulton nyissa meg a Programok telepítése és törlése segédprogramot.
  2. Keresse meg a Microsoft R Servert, és válassza a Módosítás/módosítás lehetőséget.
  3. Amikor a telepítő elindul, válassza ki a 9.1.0-hoz kötni kívánt példányokat.

A Microsoft Machine Learning Server 9.2.1-es és 9.3-as verziója nem rendelkezik ezzel a problémával.

A kötés vagy a kötés megszüntetése több ideiglenes mappát hagy maga után

A telepítés befejezése után távolítsa el az ideiglenes mappákat.

Megjegyzés:

Ügyeljen arra, hogy várja meg, amíg a telepítés befejeződik. Az egyik verzióhoz társított R-kódtárak eltávolítása, majd az új R-kódtárak hozzáadása hosszú időt vehet igénybe. A művelet befejeződése után az ideiglenes mappák törlődnek.

Lásd még