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


SQL Server Machine Learning-szolgáltatások (Python és R) telepítése Windows

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

Ez a cikk bemutatja, hogyan telepíthető a SQL Server Machine Learning Services Windowsra. A Machine Learning Services használatával Python- és R-szkripteket futtathat az adatbázisban.

Fontos

Ezek az utasítások a SQL Server 2016 (13.x), SQL Server 2017 (14.x) és SQL Server 2019 (15.x) verziókra vonatkoznak. A SQL Server 2022 (16.x) esetében lásd: SQL Server 2022 Mesterséges Intelligencia Szolgáltatások telepítése Windows rendszeren.

Python és R verzióra vonatkozó referencia

Az alábbi táblázat az egyes SQL Server kiadások Python és R futtatókörnyezeti verzióit mutatja be. Ezzel a táblával meghatározhatja, hogy mely nyelvi verziók érhetők el a SQL Server-példányhoz.

SQL Server verzió Python verzió R-verzió
SQL Server 2016 (13.x) N/A (csak R) 3.2.2
SQL Server 2017 (14.x) RTM – CU21 3.5.2 3.3.3
SQL Server 2017 (14.x) CU22 és újabb 3.5.2 és 3.7.2 3.3.3 és 3.5.2
SQL Server 2019 (15.x) 3.7.1 3.5.2
SQL Server 2022 (16.x) 3.10.2 4.2.0

Megjegyzés:

A 2022-SQL Server (16.x) verziótól kezdve az R, Python és Java futtatókörnyezetei már nem telepíthetők SQL Server telepítővel. Ehelyett telepítse a kívánt egyéni futtatókörnyezeteket és csomagokat. További információ: Install SQL Server 2022 Machine Learning Services on Windows.

További információ az összes támogatott verzióról: Mi az SQL Server Machine Learning Szolgáltatások?

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

  • Adatbázismotor-példányra van szükség. Nem telepíthet csak Python vagy R szolgáltatásokat, bár növekményesen hozzáadhatja őket egy meglévő különálló példányhoz.

  • Az üzletmenet-folytonosság érdekében Always On rendelkezésre állási csoportok támogatottak Machine Learning Szolgáltatások esetében. Telepítse a Machine Learning-szolgáltatásokat, és konfigurálja a csomagokat minden csomóponton.

  • A Machine Learning Services telepítése nem támogatott egy Always On feladatátvételi fürt példányon a SQL Server 2017-ben. Az SQL Server 2019 és az annál újabb verziók támogatottak. A telepítéskor telepítenie kell Machine Learning szolgáltatásokat, és a telepítés után nem vehetők fel funkciók egy meglévő feladatátvevő fürtpéldányra.

  • Ne telepítse a Machine Learning-szolgáltatásokat tartományvezérlőre. A beállítás Machine Learning-szolgáltatások része sikertelen lesz.

  • Ne telepítse a Shared Features>Machine Learning Server (önálló) ugyanazon a számítógépen, amely adatbázispéldányt futtat. A különálló kiszolgálók ugyanazokért az erőforrásokért versenyeznek, és csökkentik mindkét telepítés teljesítményét.

  • 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 a 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 a SQL Server kívüli számítógépen Python és R-t használó kód futtatása problémákhoz vezethet:

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

Megjegyzés:

Machine Learning szolgáltatások alapértelmezés szerint telepítve vannak a SQL Server Big Data Clusters. Big Data Cluster használata esetén nem kell követnie a cikkben szereplő lépéseket. További információ: Az Machine Learning-szolgáltatások (Python és R) használata Big Data Clusters.

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 foglalják a SQL Server külső szkriptek használatát, valamint olyan fiókok hozzáadását, amelyek szükségesek ahhoz, hogy SQL Server R- és Python-feladatokat futtasson az Ön nevében. 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

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

  • SQL Server Enterprise, Standard és Express kiadások. Ezek a kiadások éles használatra vannak licencelve. Az Enterprise és Standard kiadások esetén forduljon a szoftver gyártójához a telepítési adathordozóhoz. A vásárlási információkat és a Microsoft-partnerek címtárát a Microsoft vásárlási webhelyén találja.

  • A legújabb ingyenes kiadás.

Arról, hogy mely SQL Server kiadások támogatják a Python és az R-integrációt a Machine Learning-szolgáltatásokkal, tekintse meg a Editions és a 2017 SQL Server támogatott funkcióit.

További információ arról, hogy mely SQL Server kiadások támogatják a Python és az R-integrációt a Machine Learning-szolgáltatásokkal: Editions and supported features of SQL Server 2019.

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ít SQL Server, olyan tartományi fiókot kell használnia, amely olvasási és végrehajtási engedélyekkel rendelkezik a távoli megosztáson.

  1. Indítsa el a beállítási varázslót SQL Server.

  2. A Installation lapon válassza az Új SQL Server önálló telepítés vagy funkciók hozzáadása egy meglevő telepítéshez lehetőséget.

    Képernyőkép, amely megjeleníti a SQL Server önálló telepítés létrehozásának vagy egy meglévő telepítéshez szolgáltatások hozzáadásának lehetőségét.

    Screenshot, amely megjeleníti az új SQL Server önálló telepítés használatát vagy a meglévő telepítés funkcióinak hozzáadását

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

    • Database Engine Szolgáltatások

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

    • Machine Learning Services (In-Database)

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

    • Database Engine Szolgáltatások

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

    • Machine Learning szolgáltatások és nyelvi bővítmény

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

    • R

      Ezt a lehetőséget választva hozzáadhatja a Microsoft R-csomagokat, az értelmezőt és a nyílt forráskódú R-t.

    • Python

      Válassza ezt a lehetőséget a Microsoft Python-csomagok, a Python futtatható fájl, valamint az Anaconda-disztribúció választható könyvtárainak hozzáadásához. A SQL Server kiadásban szereplő konkrét Python verzióról lásd a Python és az R verzióra vonatkozó referenciát.

    A Java telepítéséről és használatáról további információt a Install SQL Server Java Language Extension on Windows című témakörben talál.

    Az R és a Python funkcióinak lehetőségeit bemutató képernyőkép.

    Képernyőkép, amely az R és Python funkcióinak kiválasztását mutatja.Beállítási lehetőségek R-hez és Pythonhoz

    Megjegyzés:

    Ne válassza a Machine Learning Kiszolgáló (önálló) lehetőséget a Shared Features területen. Ez a beállítás egy külön számítógépen való használatra szolgál.

  1. A Microsoft R Open telepítéséhez való hozzájárulás lapon válassza aTovább>.

    A licencszerződés a következőket tartalmazza:

    • Microsoft R Open.
    • Nyílt forráskódú R-alapcsomagok és -eszközök.
    • Továbbfejlesztett R-csomagok és kapcsolatszolgáltatók a Microsoft fejlesztői csapatától.
  2. A Hozzájárulás Python telepítéséhez lapon válassza az Elfogad>Tovább lehetőséget. A Python nyílt forráskódú licencszerződés az Anacondára és a kapcsolódó eszközökre, valamint a Microsoft fejlesztői csapatának néhány új Python kódtárára is kiterjed.

    Megjegyzés:

    Ha a használt számítógép nem rendelkezik internet-hozzáféréssel, akkor ezen a ponton szüneteltetheti a telepítést, hogy külön töltse le a telepítőket. További információ: Gépi tanulási összetevők telepítése internet-hozzáférés nélkül.

  3. A Telepítésre kész lapon ellenőrizze, hogy ezek a beállítások szerepelnek-e, majd válassza a Telepítés elemet:

    • Database Engine-szolgáltatások
    • Machine Learning szolgáltatások (adatbázison belül)
    • R, Python vagy mindkettő

    Jegyezze fel a mappa helyét a konfigurációs fájlok tárolási útvonala ..\Setup Bootstrap\Log alatt. Ha a telepítés befejeződött, áttekintheti a telepített összetevőket az összefoglaló fájlban.

  4. A telepítés befejezése után, ha a rendszer arra utasítja, hogy indítsa újra a számítógépet, tegye meg. Fontos, hogy a telepítés befejezésekor olvassa el a telepítővarázsló üzenetét. További információ: Nézet és SQL Server beállítási naplófájlok megtekintése.

  1. A Microsoft R Open telepítéséhez való hozzájárulás lapon válassza aTovább>. Ez a licencszerződés a Microsoft R Openre vonatkozik, amely magában foglalja a nyílt forráskódú R alapcsomagok és -eszközök terjesztését. Emellett továbbfejlesztett R-csomagokat és kapcsolódási szolgáltatókat is tartalmaz a Microsoft fejlesztői csapatától.

  2. A Python telepítési beleegyezés lapon válassza az Elfogadás>Tovább lehetőséget. A Python nyílt forráskódú licencszerződés az Anacondára és a kapcsolódó eszközökre, valamint a Microsoft fejlesztői csapatának néhány új Python kódtárára is kiterjed.

  3. A Telepítésre kész lapon ellenőrizze, hogy ezek a beállítások szerepelnek-e, majd válassza a Telepítés elemet:

    • Database Engine-szolgáltatások
    • Machine Learning szolgáltatások (adatbázison belül)
    • R, Python vagy mindkettő

    Jegyezze fel a mappa helyét a konfigurációs fájlok tárolási útvonala ..\Setup Bootstrap\Log alatt. Ha a telepítés befejeződött, áttekintheti a telepített összetevőket az összefoglaló fájlban.

  4. A telepítés befejezése után, ha a rendszer arra utasítja, hogy indítsa újra a számítógépet, tegye meg. A telepítés befejezésekor fontos elolvasni a telepítővarázsló üzenetét. További információ: Nézet és SQL Server beállítási naplófájlok megtekintése.

Környezeti változók beállítása

Csak az R-funkciók integrációjához állítsa be a környezeti változót, hogy biztosítsa az MKL_CBWR Intel Math Kernel Library (MKL) számításainak konzisztens kimenetét :

  1. A Control Panel válassza a Rendszer és biztonság>System>A rendszerbeállítások>Környezeti változók lehetőséget.

  2. Hozzon létre egy új felhasználót vagy rendszerváltozót:

    • Állítsa a változó nevét a következőre MKL_CBWR: .
    • Állítsa a változó értékét a következőre AUTO: .

Ehhez a lépéshez újra kell indítani a kiszolgálót. Ha engedélyezni szeretné a szkriptek végrehajtását, az újraindítást mindaddig szüneteltetheti, amíg az összes konfigurációs munka el nem készül.

Szkript végrehajtásának engedélyezése

  1. A SQL Server Management Studio (SSMS) használatával csatlakozzon ahhoz a példányhoz, ahol a SQL Server Machine Learning Servicest telepítette.

  2. Válassza az Új lekérdezés lehetőséget egy lekérdezési ablak megnyitásához, majd futtassa a következő parancsot:

    EXEC sp_configure
    
  3. A tulajdonság external scripts enabled értékének ezen a ponton kell lennie 0 . A funkció alapértelmezés szerint ki van kapcsolva. Ha r- vagy Python szkriptek futtatásához szeretné bekapcsolni, futtassa a következő utasítást:

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

    Ha már engedélyezte a funkciót az R nyelvhez, nem szükséges RECONFIGURE másodszor futtatnia a Python. A mögöttes bővíthetőségi platform mindkét nyelvet támogatja.

A szolgáltatás újraindítása

Ha a telepítés befejeződött, indítsa újra az adatbázismotort. 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 alábbi módszerek bármelyikével újraindíthatja:

  • Kattintson a jobb gombbal az SSMS Object Explorerben található példányra, majd válassza a Újraindítás parancsot.
  • A Szolgáltatások Microsoft Management Console (MMC) eleme a Vezérlőpultban
  • SQL Server Configuration Manager

Telepítés ellenőrzése

A következő lépésekkel ellenőrizheti, hogy a külső szkriptek indításához használt összes összetevő fut-e:

  1. A SQL Server Management Studio nyisson meg egy új lekérdezési ablakot, és futtassa a következő parancsot:

    EXECUTE sp_configure  'external scripts enabled'
    

    Ezután a(z) run_value a(z) 1-re/-ra van állítva.

  2. Nyissa meg a Szolgáltatások vezérlőpultelemet vagy SQL Server Configuration Manager, és ellenőrizze, hogy fut-e a SQL Server Launchpad szolgáltatás. Minden olyan adatbázismotor-példányhoz rendelkeznie kell egy szolgáltatással, amely rendelkezik R vagy Python telepítve. További információ a szolgáltatásról: Az SQL Server Machine Learning Services bővíthetőségi architektúrája.

  3. Ha a Launchpad fut, futtathat egyszerű Python és R-szkripteket annak ellenőrzéséhez, hogy a külső szkriptelési futtatókörnyezetek képesek-e kommunikálni SQL Server.

    Nyisson meg egy új Query ablakot SQL Server Management Studio, majd futtasson egy szkriptet, például:

    • R esetén:

      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));
      GO
      
    • Python esetén:

      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
      

    A külső szkript futtatókörnyezetének első betöltésekor a szkript futtatása eltarthat egy kicsit. Az eredményeknek a következőhöz hasonlónak kell lenniük:

    hello
    1

Megjegyzés:

A Python szkriptben használt oszlopok vagy címsorok nem lesznek automatikusan visszaadva. Ha oszlopneveket szeretne hozzáadni a kimenethez, meg kell adnia a visszatérési adatkészlet sémáját. Ehhez használja a WITH RESULTS tárolt eljárás paraméterét, az oszlopok elnevezését és az SQL-adattípus megadását.

Hozzáadhatja például a következő sort egy tetszőleges oszlopnév létrehozásához: WITH RESULT SETS ((Col1 AS int)).

Frissítések alkalmazása

Meglévő telepítés

Ha Machine Learning-szolgáltatásokat adott hozzá egy meglévő SQL Server-példányhoz, és korábban kumulatív frissítést (CU) alkalmazott, előfordulhat, hogy az adatbázismotor és a Machine Learning Szolgáltatások funkció verziója eltérő lehet. Ez a különbség váratlan viselkedést vagy hibákat okozhat, mert launchpad.exesqlservr.exe különböző verziókkal rendelkezik.

Az alábbi lépéseket követve a Machine Learning-szolgáltatásokat az adatbázismotoréval megegyező verzióra hozhatja:

  1. Határozza meg az adatbázismotor kumulatív frissítését. Futtassa ezt a T-SQL-utasítást:

    SELECT @@VERSION
    

    Íme egy példa a SQL Server 2019 CU 8-ból származó kimenetre:

    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)
    

    További információ: Determine a SQL Server és összetevőinek verzióját, kiadását és frissítési szintjét.

  2. Szükség esetén töltse le az adatbázismotorhoz telepített kumulatív frissítést .

  3. Futtassa a kumulatív frissítés telepítését, és kövesse az utasításokat a Machine Learning Services újbóli telepítéséhez. Válassza ki azt a meglévő példányt, amelyben a Machine Learning Services telepítve van. A frissítés állapota hiányosan telepítve jelenik meg a Funkcióválasztás lapon.

  4. Válassza a Tovább lehetőséget, és folytassa a telepítést.

Új telepítés

Ha a Machine Learning-szolgáltatásokat a SQL Server adatbázismotor új telepítésével telepíti, javasoljuk, hogy a legújabb kumulatív frissítést alkalmazza az adatbázismotorra és machine learning összetevőkre is.

Az internetkapcsolattal rendelkező eszközökön a kumulatív frissítéseket általában a Windows Update-en keresztül alkalmazzák. A szabályozott frissítésekhez azonban az alábbi lépéseket is használhatja. Amikor alkalmazza az adatbázismotor frissítését, a telepítő összesítő frissítést kér be az ugyanazon példányra telepített összes Python vagy R szolgáltatáshoz.

A leválasztott kiszolgálók további lépéseket igényelnek. További információ: Telepítés internet-hozzáférés > nélküli számítógépeken Összegző frissítések alkalmazása.

  1. Kezdje egy már telepített alappéldánysal: SQL Server kezdeti kiadás.

  2. Lépjen a Microsoft SQL Server frissítéseinek listájára.

  3. Válassza ki a legújabb kumulatív frissítést. A rendszer automatikusan letölt és kinyer egy végrehajtható fájlt.

  4. Futtassa a telepítőt, és fogadja el a licencfeltételeket.

  5. A Funkcióválasztás lapon tekintse át azokat a funkciókat, amelyekhez kumulatív frissítéseket alkalmaz. Az aktuális példányra telepített összes funkciót látnia kell, beleértve a gépi tanulási funkciókat is. A telepítő letölti az összes funkció frissítéséhez szükséges CAB-fájlokat.

    A telepített funkciók összegzését bemutató képernyőkép.

  6. Folytassa a varázsló lépésein keresztül. Fogadja el az R és Python disztribúciók licencfeltételeit.

További konfiguráció

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

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:

2019 SQL Server Windows 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ókért olvassa el a izolációs változtatásokat a Machine Learning Services esetében.

Előfordulhat, hogy az adatbázisban konfigurációfrissítésekre van szükség. További információ: Adjon engedélyt a felhasználóknak az SQL Server Machine Learning Services-re.

Megjegyzés:

A további konfiguráció megkövetelése a biztonsági sémától, a 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.

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.

További feldolgozói fiókok hozzáadása

Ha arra számít, hogy sok felhasználó egyszerre futtat szkripteket, növelheti a Launchpad szolgáltatáshoz rendelt feldolgozói fiókok számát. További információ: Külső szkriptek egyidejű végrehajtásának skálázása SQL Server Machine Learning Szolgáltatásokban.

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

A 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 számos más szolgáltatáshoz és alkalmazáshoz.

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-kezelése megfelelő legyen, javasoljuk, hogy SQL Server Resource Governor használjon külső erőforráskészlet konfigurálásához. Módosíthatja a SQL Server adatbázismotor számára lefoglalt memória mennyiségét, vagy növelheti a SQL Server Launchpad szolgáltatásban futó fiókok számát.

Ha standard kiadást használ, és nem rendelkezik Resource Governor, 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

A SQL Server számára létrehozott Python- és R-megoldások meghívhatók:

  • Alapfunkciók.
  • Az SQL Server telepített védjegyezett csomagjaiból származó függvények.
  • Külső csomagok, amelyek kompatibilisek a nyílt forráskódú Python és az R SQL Server telepített verziójával.

Azoknak a csomagoknak, amelyeket a SQL Serverből szeretne használni, az adott példány által használt alapértelmezett tárba kell települniük. Ha a számítógépen külön telepítette a Python vagy az R fájlt, 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ázisszinten oszthassák meg a csomagokat, vagy úgy konfigurálhatja az adatbázis-szerepköröket, hogy a felhasználók saját csomagokat telepítsenek. További információ: Új R-csomagok telepítése.