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


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

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

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

Fontos

Ezek az utasítások az SQL Server 2016 -ra (13.x), az SQL Server 2017-re (14.x) és az SQL Server 2019-re (15.x) vonatkoznak. Az SQL Server 2022 (16.x) esetén tekintse meg az SQL Server 2022 Machine Learning Services windowsos telepítését.

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, bár növekményesen hozzáadhatja őket egy meglévő különálló 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 nem támogatott egy Always On átállási fürt példányon az SQL Server 2017-ben. Az SQL Server 2019 és újabb verziói is támogatják. Telepítéskor telepítenie kell a Machine Learning Servicest, é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 Servicest tartományvezérlőre. A Machine Learning Services beállítása sikertelen lesz.

  • Ne telepítse a megosztott szolgáltatások>machine learning-kiszolgálóját (ö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 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.

Megjegyzés:

Machine Learning Services alapértelmezés szerint telepítve van az SQL Server Big Data fürtökben. Big Data Cluster használata esetén nem kell követnie a cikkben szereplő lépéseket. További információ: Machine Learning Services (Python és R) használata Big Data-fürtökön.

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 közé tartozik, hogy az SQL Server külső szkripteket használjon, és olyan fiókokat adjon hozzá, amelyek szükségesek ahhoz, hogy az 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

Az 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.

További információ arról, hogy mely SQL Server-kiadások támogatják a Python- és R-integrációt a Machine Learning Services szolgáltatással, tekintse meg az SQL Server 2017 kiadásait és támogatott funkcióit.

További információ arról, hogy mely SQL Server-kiadások támogatják a Python- és R-integrációt a Machine Learning Services szolgáltatással, tekintse meg az SQL Server 2019 kiadásait és támogatott funkcióit.

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.

  1. Indítsa el az SQL Server 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.

    Képernyőkép az ÖNÁLLÓ SQL Server-telepítés létrehozásának vagy egy meglévő telepítés funkcióinak hozzáadásáról.

    Képernyőkép egy új önálló SQL Server-telepítés használatára vagy egy meglévő telepítés funkcióinak hozzáadására szolgáló lehetőségről.

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

    • Adatbázismotor-szolgáltatások

      Az R és a Python SQL Serverrel 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-szkriptfuttatást támogató adatbázis-szolgáltatá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. Használhat egy alapértelmezett vagy egy elnevezett példányt is.

    • Machine Learning Services és nyelvi bővítmény

      Ez a beállítás telepíti az R- és Python-szkriptfuttatást 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

      Ezt a lehetőséget választva hozzáadhatja a Microsoft Python-csomagokat, a Python 3.5 végrehajtható fájlokat, és kiválaszthatja a kódtárakat az Anaconda-disztribúcióból.

    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.

    Képernyőkép az R és a Python funkcióbeállításairól.

    Képernyőkép az R és a Python funkcióbeállításainak kiválasztásáról.

    Megjegyzés:

    Ne válassza a Machine Learning Server (önálló) lehetőséget a Megosztott szolgáltatások csoportban. 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 Python telepítéséhez való hozzájárulás lapon válassza aTovább>. A Python nyílt forráskódú licencszerződése 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:

    • Adatbázismotor-szolgáltatások
    • Machine Learning Services (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ót az SQL Server telepítő naplófájljainak megtekintése és olvasása című témakörben talál.

  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éséhez való hozzájárulás lapon válassza aTovább>. A Python nyílt forráskódú licencszerződése 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:

    • Adatbázismotor-szolgáltatások
    • Machine Learning Services (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ót az SQL Server telepítő naplófájljainak megtekintése és olvasása című témakörben talál.

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 Vezérlőpulton válassza a Rendszer és biztonság>Rendszer>Speciális 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. Az SQL Server Management Studio (SSMS) használatával csatlakozzon ahhoz a példányhoz, ahol az 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. A R- vagy Python-szkriptek futtatásához 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 kell másodszor futtatnia RECONFIGURE a Pythont. 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 Objektumkezelőben lévő példány Újraindítás parancsára
  • A Microsoft Felügyeleti konzol (MMC) szolgáltatáseleme a Vezérlőpulton
  • 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. Az SQL Server Management Studióban 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 az SQL Server Configuration Managert, és ellenőrizze, hogy fut-e az SQL Server Launchpad szolgáltatás . Minden olyan adatbázismotor-példányhoz rendelkeznie kell egy szolgáltatással, amelyben R vagy Python van telepítve. További információ a szolgáltatásról: Bővíthetőségi architektúra az SQL Server Machine Learning Servicesben.

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

    Nyisson meg egy új lekérdezési ablakot az SQL Server Management Studióban, 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 hozzáadta a Machine Learning Servicest egy meglévő SQL Server-példányhoz, és korábban kumulatív frissítést (CU) alkalmazott, az adatbázismotor és a Machine Learning Services szolgáltatás verziói eltérőek lehetnek. 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 Services az adatbázismotoréval megegyező verzióra lesz telepítve:

  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éldakimenet az SQL Server 2019 CU 8-ból:

    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ó: Az SQL Server és összetevői verziójának, kiadásának és frissítési szintjének meghatározása.

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

  3. Futtassa az összegző frissítést, és kövesse az utasításokat, hogy újra telepítse a Machine Learning Services-t. 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 Servicest az SQL Server adatbázismotorjának új telepítésével telepíti, javasoljuk, hogy a legújabb kumulatív frissítést alkalmazza az adatbázismotorra és a gépi tanulási összetevőkre is.

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

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: az SQL Server kezdeti kiadásával.

  2. Nyissa meg a Microsoft SQL Server frissítéseinek listáját.

  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, 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.

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-ben 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óért lásd: Gépi tanulási szolgáltatások izolációs változásai.

Előfordulhat, hogy az adatbázisban konfigurációfrissítésekre van szükség. További információt az SQL Server Machine Learning Services engedélyének megadása a felhasználóknak című témakörben talál.

Megjegyzés:

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.

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 méretezése az SQL Server Machine Learning Servicesben.

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 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-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.
  • Az SQL Serverrel telepített szabadalmazott csomagokból származó függvények.
  • Külső csomagok, amelyek kompatibilisek az SQL Server által telepített nyílt forráskódú Python és R verzióval.

Az SQL Serverrel használni kívánt csomagokat az instance á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á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ó: Python-csomagok telepítése és új R-csomagok telepítése.