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


Az SQL Server 2022 Machine Learning Services (Python és R) telepítése Windows rendszeren

A következőkre vonatkozik: SQL Server 2022 (16.x)

Ez a cikk bemutatja, hogyan telepítheti az SQL Server Machine Learning Servicest a Pythonnal és az R-vel Windows rendszeren. A Machine Learning Services használatával Python- és R-szkripteket futtathat az adatbázisban.

Megjegyzés:

Ezek az utasítások a Windows SQL Server 2022 (16.x) rendszerre vonatkoznak. Az SQL Server Machine Learning Services Windows for SQL Server 2016 (13.x), SQL Server 2017 (14.x) vagy SQL Server 2019 (15.x) telepítéséhez lásd: SQL Server Machine Learning Services (Python és R) telepítése Windows rendszeren.

Linux esetén lásd: SQL Server 2019 Machine Learning Services (Python és R) telepítése Linuxon.

Előtelepítési ellenőrzőlista

  • Adatbázismotor-példányra van szükség. Nem telepíthet csak Python- vagy R-funkciókat, de növekményesen hozzáadhatja őket egy meglévő példányhoz.

  • Az üzletmenet folytonossága érdekében az Always On rendelkezésre állási csoportok támogatottak a Machine Learning Servicesben. Telepítse a Machine Learning Servicest, és konfigurálja a csomagokat minden csomóponton.

  • A Machine Learning Services telepítése az SQL Server 2019 és újabb verziókban Always On feladatátvevő fürtök példányain is támogatott.

  • Ne telepítse a Machine Learning Servicest tartományvezérlőre. A Machine Learning Services beállítása sikertelen lesz.

  • A Python és az R más verzióival való párhuzamos telepítés támogatott, de nem javasoljuk. Ez azért támogatott, mert az SQL Server-példány a nyílt forráskódú R- és Anaconda-disztribúciók saját példányait használja. Nem javasoljuk, mert az SQL Serveren kívüli számítógépen Pythont és R-t használó kód futtatása problémákhoz vezethet:

    • Ha egy másik kódtárat és különböző végrehajtható fájlokat használ, olyan eredményeket hoz létre, amelyek nem összhangban vannak az SQL Serveren futókkal.
    • Az SQL Server nem tudja kezelni a külső kódtárakban futó R- és Python-szkripteket, ami erőforrás-versengést eredményez.

Fontos

A telepítés befejezése után mindenképpen végezze el a cikkben ismertetett konfiguráció utáni lépéseket. Ezek a lépések magukban foglalhatják az SQL Server külső szkriptek használatát. A konfigurációs módosítások általában a példány újraindítását vagy a Launchpad szolgáltatás újraindítását igénylik.

A telepítési adathordozó lekérése

Az SQL Server letöltési helye a kiadástól függ:

A beállítás futtatása

Helyi telepítések esetén rendszergazdaként kell futtatnia a telepítést. Ha távoli megosztásból telepíti az SQL Servert, olyan tartományi fiókot kell használnia, amely olvasási és végrehajtási engedélyekkel rendelkezik a távoli megosztáson.

Ha telepítési hibákba ütközik a telepítés során, ellenőrizze az összefoglaló naplót a Telepítő Bootstrap naplómappájában (például %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt).

  1. Indítsa el az SQL Server 2022 telepítővarázslót.

  2. A Telepítés lapon válassza az Új SQL Server önálló telepítését, vagy adjon hozzá funkciókat egy meglévő telepítéshez.

  3. A Funkciókijelölés lapon válassza az alábbi beállításokat:

    • Adatbázismotor-szolgáltatások

      Az R vagy Python SQL Serverrel való használatához telepítenie kell az adatbázismotor egy példányát. Ön használhat alapértelmezett vagy elnevezett példányt is.

    • Gépitanulás-szolgáltatások és nyelv

      Ez a beállítás telepíti az R- és Python-szkriptfuttatást támogató adatbázis-szolgáltatásokat.

    Ez a képernyőkép az SQL Server 2022 (16.x) Machine Learning Services telepítésekor ellenőrizendő minimális példány jellemzőket mutatja be.

    Képernyőkép a funkciókijelölésről, amelyen a Database Engine Services, a Machine Learning Services és a Language melletti jelölőnégyzetek láthatók.

Futtatókörnyezetek és csomagok telepítése

Az SQL Server 2022 -től (16.x) kezdődően az R, Python és Java futtatókörnyezetek már nem lesznek szállítva vagy telepítve az SQL Server beállításával. Ehelyett az alábbi szakaszokban telepítheti egyéni futtatókörnyezeteit és csomagjait.

R-támogatás beállítása

R-futtatókörnyezet telepítése

  1. Töltse le és telepítse a Windows R 4.2 legújabb verzióját.

  2. Telepítse a függőségeket a CompatibilityAPI és RevoScaleR-hez. A telepített verzió R termináljáról futtassa a következő parancsokat:

    # R Terminal
    install.packages("iterators")
    install.packages("foreach")
    install.packages("R6")
    install.packages("jsonlite")
    
  3. Töltse le és telepítse a legújabb verziót CompatibilityAPI és RevoScaleR csomagokat:

    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)
    

R-futtatókörnyezet konfigurálása az SQL Serverrel

  1. Konfigurálja a telepített R-futtatókörnyezetet az SQL Serverrel. Az alapértelmezett verziót a RegisterRext.exe parancssori segédprogrammal módosíthatja. A segédprogram egy R-alkalmazásmappában található, amely a telepítéstől függ. Általában benne van %ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64.

    Az alábbi szkripttel konfigurálhatja a telepített R-futtatókörnyezetet a telepítési mappa helyéről RegisterRext.exe. A példány neve az MSSQLSERVER SQL Server alapértelmezett példányának vagy az SQL Server egy elnevezett példányának példányneve.

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"MSSQLSERVER"
    

    Ha az SQL Server egy nevesített példányát konfigurálja, amelyre általában ".\SQLEXPRESS" vagy "MACHINENAME\SQLEXPRESS" néven hivatkozik, csak a példány nevét adja meg. Például:

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"
    
  2. Az SQL Server Management Studio (SSMS) használatával csatlakozzon ahhoz a példányhoz, ahol az SQL Server Machine Learning Servicest telepítette. Válassza az Új lekérdezés lehetőséget egy lekérdezési ablak megnyitásához, majd futtassa a következő parancsot a külső szkriptelési funkció engedélyezéséhez:

    EXEC sp_configure  'external scripts enabled', 1;
    RECONFIGURE WITH OVERRIDE
    

    Ha már engedélyezte a funkciót egy másik nyelvhez, nem kell másodszor futtatnia RECONFIGURE az R-t. A mögöttes bővíthetőségi platform mindkét nyelvet támogatja. A megerősítéshez győződjön meg arról, hogy a következő parancs visszaadja 1 a config_value és run_value esetében.

    EXEC sp_configure  'external scripts enabled';
    
  3. Indítsa újra az SQL Server szolgáltatást. A szolgáltatás újraindítása automatikusan újraindítja a kapcsolódó SQL Server Launchpad szolgáltatást is.

    A szolgáltatást az SSMS Object Explorerben a példány jobb gombbal történő Újraindítás parancsával, vagy a Vezérlőpult Szolgáltatások elemével vagy az SQL Server Configuration Managerrel indíthatja újra.

  4. Ellenőrizze a telepítést egy egyszerű T-SQL-parancs futtatásával az R verziójának visszaadásához:

    EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R';
    GO
    

Python-támogatás beállítása

Python-futtatókörnyezet telepítése

  1. Töltse le a Windows Python 3.10 legújabb verzióját. Telepítse a következő beállításokkal:

    1. Nyissa meg a Python telepítőalkalmazást, és válassza a Telepítés testreszabása lehetőséget.

    2. Ellenőrizze, hogy be van-e jelölve az Install launcher for all users (ajánlott) jelölőnégyzet.

    3. Választható funkciók esetén válassza ki a kívánt funkciókat (vagy jelölje ki az összeset).

    4. A Speciális beállítások lapon válassza a Telepítés minden felhasználó számára lehetőséget, fogadja el az egyéb alapértelmezett beállításokat, majd válassza a Telepítés lehetőséget.

      Javasoljuk, hogy olyan Python-telepítési útvonalat használjon, amelyhez minden felhasználó hozzáférhet (például C:\Program Files\Python310), és nem egyetlen felhasználóra jellemzőt.

  2. Töltse le és telepítse a revoscalepy csomag legújabb verzióját és függőségeit egy új rendszergazda jogú parancssorból:

    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 packaging
    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.whl
    

    Futtassa a következő icacls-parancsokat , hogy olvasási és végrehajtási hozzáférést biztosítson a telepített kódtárakhoz az SQL Server Launchpad Service és a SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES) számára. Engedélyeket kell adnia a Launchpad szolgáltatáshoz társított szolgáltatásfiókhoz, és be kell jelentkeznie az SQL Server Configuration Managerben.

    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 /T
    

    Ha az SQL Servert nevesített példányként telepítette, előfordulhat, hogy a szolgáltatásfiók közepén egy $ van, például:

    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
    

Python-futtatókörnyezet konfigurálása AZ SQL Serverrel

  1. Konfigurálja a telepített Python-futtatókörnyezetet az SQL Serverrel. Az alapértelmezett verziót a RegisterRext.exe parancssori segédprogrammal módosíthatja. A segédprogram az egyéni telepítési helyen található (például C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs).

    Egy rendszergazda jogú parancssorból a következő szkripttel konfigurálhatja a telepített Python-futtatókörnyezetet a telepítési mappa helyéről RegisterRext.exe. A példány neve az MSSQLSERVER SQL Server alapértelmezett példányának vagy az SQL Server egy elnevezett példányának példányneve.

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"MSSQLSERVER"
    

    Ha az SQL Server egy nevesített példányát konfigurálja, amelyre általában ".\SQLEXPRESS" vagy "MACHINENAME\SQLEXPRESS" néven hivatkozik, csak a példány nevét adja meg. Például:

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"
    
  2. Az SQL Server Management Studio (SSMS) használatával csatlakozzon ahhoz a példányhoz, ahol az SQL Server Machine Learning Servicest telepítette. Válassza az Új lekérdezés lehetőséget egy lekérdezési ablak megnyitásához, majd futtassa a következő parancsot a külső szkriptelési funkció engedélyezéséhez:

    EXEC sp_configure  'external scripts enabled', 1;
    RECONFIGURE WITH OVERRIDE
    

    Ha már engedélyezte a funkciót egy másik nyelvhez, nem kell másodszor futtatnia RECONFIGURE az R-t. A mögöttes bővíthetőségi platform mindkét nyelvet támogatja. A megerősítéshez győződjön meg arról, hogy a következő parancs visszaadja 1 a config_value és run_value esetében.

    EXEC sp_configure  'external scripts enabled';
    
  3. Indítsa újra az SQL Server szolgáltatást. A szolgáltatás újraindítása automatikusan újraindítja a kapcsolódó SQL Server Launchpad szolgáltatást is.

    A szolgáltatást az SSMS Object Explorerben a példány jobb gombbal történő Újraindítás parancsával, vagy a Vezérlőpult Szolgáltatások elemével vagy az SQL Server Configuration Managerrel indíthatja újra.

  4. Ellenőrizze a telepítést egy egyszerű parancs futtatásával a Python verziójának visszaadásához:

    EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python'
    GO
    

Java telepítése

A Java telepítésével és használatával kapcsolatos információkért lásd: SQL Server Java Language Extension telepítése Windows rendszeren.

További konfiguráció

Ha a külső szkriptellenőrzési lépés sikeres volt, R- vagy Python-parancsokat futtathat az SQL Server Management Studióból, a Visual Studio Code-ból vagy bármely más ügyfélből, amely T-SQL-utasításokat küldhet a kiszolgálónak.

A további konfiguráció megkövetelése a biztonsági sémától, az SQL Server telepítésének módjától, valamint attól függ, hogy a felhasználók hogyan csatlakozhatnak az adatbázishoz, és hogyan futtathatnak külső szkripteket.

Ha a parancs futtatásakor hibaüzenet jelenik meg, előfordulhat, hogy további konfigurációkat kell végeznie a szolgáltatásban vagy az adatbázisban. A példány szintjén további konfigurációk lehetnek a következők:

A Windows SQL Server 2019-től kezdve az elkülönítési mechanizmus megváltozott. Ez a mechanizmus hatással van az SQLRUserGroupra, a tűzfalszabályokra, a fájlengedélyekre és a vélelmezett hitelesítésre. További információ: SQL Server a Windows rendszeren: A Machine Learning Services elkülönítési változásai.

Előfordulhat, hogy az adatbázisban konfigurációfrissítésekre van szükség. További információ: Az adatbázis felhasználóinak engedélyezése Python- és R-szkriptek SQL Server Machine Learning Services használatával történő végrehajtásához.

Javasolt optimalizálások

Most, hogy minden működik, érdemes lehet optimalizálni a kiszolgálót a gépi tanulás támogatásához vagy egy előre betanított gépi tanulási modell telepítéséhez.

A kiszolgáló optimalizálása parancsfájl-végrehajtáshoz

Az SQL Server beállításának alapértelmezett beállításai a kiszolgáló egyensúlyának optimalizálására szolgálnak különböző egyéb szolgáltatásokhoz és alkalmazásokhoz.

Az alapértelmezett beállítások között a gépi tanulás erőforrásai néha korlátozottak vagy szabályozhatók, különösen a memóriaigényes műveletek esetében.

Annak érdekében, hogy a gépi tanulási feladatok rangsorolása és erőforrás-erőforrása megfelelő legyen, javasoljuk, hogy az SQL Server Resource Governor használatával konfiguráljon egy külső erőforráskészletet. Érdemes lehet módosítani az SQL Server adatbázismotorhoz lefoglalt memória mennyiségét, vagy növelni az SQL Server Launchpad szolgáltatásban futó fiókok számát.

Ha Standard Kiadást használ, és nem rendelkezik erőforrás-kormányzóval, dinamikus felügyeleti nézeteket, SQL Server bővített eseményeket és Windows-eseményfigyelést használhat a kiszolgáló erőforrásainak kezeléséhez.

További Python- és R-csomagok telepítése

Az SQL Serverhez létrehozott Python- és R-megoldások meghívhatják a következőt:

  • Alapfunkciók.
  • Függvények az SQL Serverrel telepített tulajdonosi csomagokból.
  • Külső csomagok, amelyek kompatibilisek az SQL Server által telepített nyílt forráskódú Python és R verzióval.

Az SQL Serverről használni kívánt csomagokat a példány által használt alapértelmezett tárba kell telepíteni. Ha a számítógépen külön Python- vagy R-telepítéssel rendelkezik, vagy ha felhasználói kódtárakba telepített csomagokat, akkor ezeket a csomagokat nem használhatja a T-SQL-ből.

További csomagok telepítéséhez és kezeléséhez beállíthatja, hogy a felhasználói csoportok adatbázisonkénti szinten osztják meg a csomagokat. Vagy úgy is konfigurálhatja az adatbázis-szerepköröket, hogy a felhasználók saját csomagokat telepítsenek. További információ: Python-csomagok telepítése sqlmlutils használatával és R-csomagok telepítése sqlmlutils használatával.

Különálló RevoScale-csomagok Python- és R-futtatókörnyezethez

A RevoScale-csomagok önálló csomagként is támogatottak Python- és R-futtatókörnyezetekkel. A Python- vagy R-futtatókörnyezet önálló forgatókönyvhöz való beállításához kövesse a Python-futtatókörnyezet telepítése és R-futtatókörnyezet telepítése szakasz utasításait.