Sdílet prostřednictvím


Instalace služby SQL Server Machine Learning Services (Python a R) ve Windows

platí pro: SQL Server 2016 (13.x), SQL Server 2017 (14.x) a SQL Server 2019 (15.x)

V tomto článku se dozvíte, jak nainstalovat službu SQL Server Machine Learning Services ve Windows. Pomocí služby Machine Learning Services můžete spouštět skripty Pythonu a R v databázi.

Důležité

Tyto pokyny platí pro SQL Server 2016 (13.x), SQL Server 2017 (14.x) a SQL Server 2019 (15.x). Informace o SQL Serveru 2022 (16.x) najdete v tématu Instalace služby SQL Server 2022 Machine Learning Services ve Windows.

Kontrolní seznam k předinstalaci

  • Vyžaduje se instance databázového stroje. Nemůžete nainstalovat jenom funkce Pythonu nebo R, i když je můžete přírůstkově přidat do existující samostatné instance.

  • V případě provozní kontinuity jsou skupiny dostupnosti AlwaysOn podporovány pro služby Machine Learning Services. Nainstalujte službu Machine Learning Services a nakonfigurujte balíčky na každý uzel.

  • Instalace služby Machine Learning Services není podporována v instanci AlwaysOn failover clusteru v SQL Serveru 2017. Podporuje se s SQL Serverem 2019 a novějším. Musíte nainstalovat službu Machine Learning již během instalace a jakmile je nainstalována, nelze přidávat funkce do existující instance clusteru s podporou převzetí služeb při selhání.

  • Nenainstalujte službu Machine Learning Services na řadič domény. Část instalace služby Machine Learning Services selže.

  • Neinstalujte sdílený server>Machine Learning Server (samostatný) na stejný počítač, na kterém běží instance databáze. Samostatný server bude soutěžit o stejné prostředky a sníží výkon obou instalací.

  • Souběžná instalace s jinými verzemi Pythonu a R je podporovaná, ale nedoporučujeme ji. Podporuje se, protože instance SQL Serveru používá vlastní kopie opensourcových distribucí R a Anaconda. Nedoporučujeme to, protože spuštění kódu, který používá Python a R na počítači mimo SQL Server, může vést k problémům:

    • Použití jiné knihovny a různých spustitelných souborů vytvoří výsledky, které jsou nekonzistentní s tím, co používáte na SQL Serveru.
    • SQL Server nedokáže řídit skripty jazyka R a Python, které běží v externích knihovnách, což vede ke kolizím prostředků.

Poznámka:

Služba Machine Learning Services je ve výchozím nastavení nainstalovaná na clusterech s velkými objemy dat SQL Serveru. Pokud používáte cluster s velkými objemy dat, nemusíte postupovat podle kroků v tomto článku. Další informace najdete v tématu Použití služby Machine Learning Services (Python a R) v clusterech s velkými objemy dat.

Důležité

Po dokončení instalace nezapomeňte dokončit kroky po konfiguraci popsané v tomto článku. Mezi tyto kroky patří povolení sql Serveru používat externí skripty a přidávání účtů, které jsou potřeba pro SQL Server ke spouštění úloh R a Python vaším jménem. Změny konfigurace obecně vyžadují restartování instance nebo restartování služby Launchpad.

Získání instalačního média

Umístění stahování pro SQL Server závisí na edici:

  • Edice SQL Server Enterprise, Standard a Express. Tyto edice jsou licencované pro produkční použití. V případě edicí Enterprise a Standard se obraťte na dodavatele softwaru pro instalační médium. Informace o nákupu a adresář partnerů Microsoftu najdete na nákupním webu Microsoftu.

  • Nejnovější bezplatná edice.

Další informace o tom, které edice SQL Serveru podporují integraci Pythonu a R se službou Machine Learning Services, najdete v tématu Edice a podporované funkce SQL Serveru 2017.

Další informace o tom, které edice SQL Serveru podporují integraci Pythonu a R se službou Machine Learning Services, najdete v tématu Edice a podporované funkce SQL Serveru 2019.

Spuštění instalace

V případě místních instalací musíte instalační program spustit jako správce. Pokud instalujete SQL Server ze vzdálené sdílené složky, musíte použít účet domény, který má oprávnění ke čtení a spouštění pro vzdálenou sdílenou složku.

  1. Spusťte průvodce instalací pro SQL Server.

  2. Na kartě Instalace vyberte Samostatná instalace Nového SQL Serveru nebo přidejte funkce do existující instalace.

    Snímek obrazovky znázorňující možnost vytvoření samostatné instalace SQL Serveru nebo přidání funkcí do existující instalace

    Snímek obrazovky znázorňující možnost použití nové samostatné instalace SQL Serveru nebo přidání funkcí do existující instalace

  3. Na stránce Výběr funkcí vyberte tyto možnosti:

    • Služby databázového stroje

      Pokud chcete používat R a Python s SQL Serverem, musíte nainstalovat instanci databázového stroje. Můžete použít výchozí instanci nebo pojmenovanou instanci.

    • Machine Learning Services (In-Database)

      Tato možnost nainstaluje databázové služby, které podporují spouštění skriptů jazyka R a Python.

    • Služby databázového stroje

      Pokud chcete používat R nebo Python s SQL Serverem, musíte nainstalovat instanci databázového stroje. Můžete použít výchozí instanci nebo pojmenovanou instanci.

    • Machine Learning Services a jazykové rozšíření

      Tato možnost nainstaluje databázové služby, které podporují spouštění skriptů jazyka R a Python.

    • R

      Tuto možnost vyberte, pokud chcete přidat balíčky Microsoft R, interpret a opensourcový jazyk R.

    • Python

      Tuto možnost vyberte, pokud chcete přidat balíčky Microsoft Pythonu, spustitelný soubor Pythonu 3.5 a vybrat knihovny z distribuce Anaconda.

    Informace o instalaci a používání Javy najdete v tématu Instalace rozšíření jazyka Java pro SQL Server ve Windows.

    Snímek obrazovky znázorňující možnosti funkcí pro R a Python

    Snímek obrazovky znázorňující výběr možností funkcí pro R a Python

    Poznámka:

    Nevybírejte možnost Machine Learning Server (samostatný) v části Sdílené funkce. Tato možnost je určená pro použití na samostatném počítači.

  1. Na stránce Souhlas s instalací aplikace Microsoft R Open vyberte Přijmout>další.

    Licenční smlouva zahrnuje:

    • Microsoft R Open.
    • Opensourcové základní balíčky a nástroje jazyka R
    • Vylepšené balíčky R a poskytovatele připojení od vývojářského týmu společnosti Microsoft.
  2. Na stránce Souhlas s instalací Pythonu vyberte Přijmout>další. Opensourcová licenční smlouva s Pythonem se zabývá také Anaconda a souvisejícími nástroji a také některými novými knihovnami Pythonu od vývojového týmu Microsoftu.

    Poznámka:

    Pokud počítač, který používáte, nemá přístup k internetu, můžete v tomto okamžiku pozastavit nastavení a stáhnout instalační programy samostatně. Další informace najdete v tématu Instalace komponent strojového učení bez přístupu k internetu.

  3. Na stránce Připraveno k instalaci ověřte, že jsou zahrnuty tyto možnosti, a pak vyberte Nainstalovat:

    • Služby databázového stroje
    • Machine Learning Services (v databázi)
    • R, Python nebo obojí

    Poznamenejte si umístění složky pod cestou ..\Setup Bootstrap\Log , kam jsou uložené konfigurační soubory. Po dokončení instalace můžete zkontrolovat nainstalované součásti v souhrnném souboru.

  4. Po dokončení instalace, pokud jste vyzváni k restartování počítače, udělejte to. Při dokončení instalace je důležité přečíst zprávu průvodce instalací. Další informace naleznete v tématu Zobrazení a čtení souborů protokolu instalace SYSTÉMU SQL Server.

  1. Na stránce Souhlas s instalací aplikace Microsoft R Open vyberte Přijmout>další. Tato licenční smlouva se vztahuje na Microsoft R Open, která zahrnuje distribuci opensourcových základních balíčků a nástrojů R. Zahrnuje také vylepšené balíčky R a poskytovatele připojení od vývojového týmu Microsoftu.

  2. Na stránce Souhlas s instalací Pythonu vyberte Přijmout>další. Opensourcová licenční smlouva s Pythonem se zabývá také Anaconda a souvisejícími nástroji a také některými novými knihovnami Pythonu od vývojového týmu Microsoftu.

  3. Na stránce Připraveno k instalaci ověřte, že jsou zahrnuty tyto možnosti, a pak vyberte Nainstalovat:

    • Služby databázového stroje
    • Machine Learning Services (v databázi)
    • R, Python nebo obojí

    Poznamenejte si umístění složky pod cestou ..\Setup Bootstrap\Log , kam jsou uložené konfigurační soubory. Po dokončení instalace můžete zkontrolovat nainstalované součásti v souhrnném souboru.

  4. Po dokončení instalace, pokud jste vyzváni k restartování počítače, udělejte to. Při dokončení instalace je důležité přečíst zprávu z průvodce instalací. Další informace naleznete v tématu Zobrazení a čtení souborů protokolu instalace SYSTÉMU SQL Server.

Nastavení proměnných prostředí

Pouze pro integraci funkcí jazyka R byste měli nastavit MKL_CBWR proměnnou prostředí, abyste zajistili konzistentní výstup z výpočtů Knihovny MKL (Intel Math Kernel Library):

  1. V Ovládacích panelech>vyberte Systém a zabezpečení>, Systém>, Pokročilá nastavení systému a Proměnné prostředí.

  2. Vytvořte novou proměnnou uživatele nebo systému:

    • Nastavte název proměnné na MKL_CBWR.
    • Nastavte hodnotu proměnné na AUTO.

Tento krok vyžaduje restartování serveru. Pokud se chystáte povolit spouštění skriptů, můžete po restartování podržet, dokud se nedokončí všechna konfigurační práce.

Povolení spouštění skriptů

  1. Pomocí aplikace SQL Server Management Studio (SSMS) se připojte k instanci, ve které jste nainstalovali službu SQL Server Machine Learning Services.

  2. Vyberte Nový dotaz pro otevření okna dotazu a poté spusťte následující příkaz:

    EXEC sp_configure
    
  3. Hodnota vlastnosti external scripts enabled by měla být 0 v tomto okamžiku. Funkce je ve výchozím nastavení vypnutá. Pokud ho chcete zapnout, abyste mohli spouštět skripty jazyka R nebo Python, spusťte následující příkaz:

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

    Pokud jste už tuto funkci povolili pro jazyk R, nemusíte pro Python spouštět RECONFIGURE podruhé. Základní platforma rozšiřitelnosti podporuje oba jazyky.

Restartujte službu.

Po dokončení instalace restartujte databázový stroj. Restartování služby také automaticky restartuje související službu SQL Server Launchpad.

Službu můžete restartovat pomocí některé z těchto metod:

  • Příkaz Restartovat pro instanci v Průzkumníku objektů v nástroji SSMS po použití pravého tlačítka myši
  • Položka Služby Microsoft Management Console (MMC) v Ovládacích panelech
  • Nástroj SQL Server Configuration Manager

Ověření instalace

Pomocí následujícího postupu ověřte, že jsou spuštěné všechny komponenty použité ke spuštění externích skriptů:

  1. V aplikaci SQL Server Management Studio otevřete nové okno dotazu a spusťte následující příkaz:

    EXECUTE sp_configure  'external scripts enabled'
    

    Pak je run_value nastavena na 1.

  2. Otevřete položku ovládacího panelu Služby nebo SQL Server Configuration Manager a ověřte, že je spuštěná služba Launchpad SYSTÉMU SQL Server . Pro každou instanci databázového stroje, která má nainstalovaný jazyk R nebo Python, byste měli mít jednu službu. Další informace o službě naleznete v tématu Architektura rozšiřitelnosti ve službě SQL Server Machine Learning Services.

  3. Pokud je launchpad spuštěný, můžete spustit jednoduché skripty Pythonu a R a ověřit, že externí skriptovací moduly runtime můžou komunikovat s SQL Serverem.

    Otevřete nové okno dotazu v aplikaci SQL Server Management Studio a spusťte skript, například:

    • Pro R:

      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
      
    • Pro Python:

      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
      

    Při prvním načtení modulu runtime externího skriptu může spuštění skriptu chvíli trvat. Výsledky by měly vypadat přibližně takto:

    dobrý den
    1

Poznámka:

Sloupce nebo nadpisy použité ve skriptu Pythonu se nevrátí automaticky. Chcete-li přidat názvy sloupců pro výstup, je nutné zadat schéma návratové datové sady. Provedete to pomocí WITH RESULTS parametru uložené procedury, pojmenování sloupců a určením datového typu SQL.

Můžete například přidat následující řádek pro vygenerování libovolného názvu sloupce: WITH RESULT SETS ((Col1 AS int)).

Instalace aktualizací

Existující instalace

Pokud jste přidali službu Machine Learning Services do existující instance SQL Serveru a už jste dříve použili kumulativní aktualizaci (CU), můžou se verze databázového stroje a funkce Machine Learning Services lišit. Tento rozdíl může vést k neočekávanému chování nebo chybám, protože launchpad.exesqlservr.exe mají různé verze.

Pokud chcete službu Machine Learning Services přenést do stejné verze jako databázový stroj, postupujte takto:

  1. Určete kumulativní aktualizaci, kterou máte pro databázový stroj. Spusťte tento příkaz T-SQL:

    SELECT @@VERSION
    

    Tady je příklad výstupu z SQL Serveru 2019 CU 8:

    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)
    

    Další informace naleznete v tématu Určení verze, edice a úrovně aktualizace SYSTÉMU SQL Server a jeho součástí.

  2. V případě potřeby stáhněte kumulativní aktualizaci , kterou jste nainstalovali pro databázový stroj.

  3. Spusťte instalaci kumulativní aktualizace a podle pokynů ji znovu nainstalujte pro službu Machine Learning Services. Vyberte existující instanci, ve které je nainstalovaná služba Machine Learning Services. Stav upgradu se zobrazuje na stránce Výběru funkcíneúplně nainstalovaný.

  4. Vyberte Další a pokračujte v instalaci.

Nová instalace

Pokud nainstalujete službu Machine Learning Services s novou instalací databázového stroje SQL Serveru, doporučujeme použít nejnovější kumulativní aktualizaci pro databázový stroj i komponenty strojového učení.

Na zařízeních připojených k internetu se kumulativní aktualizace obvykle používají prostřednictvím služby Windows Update. Pro řízené aktualizace ale můžete použít také následující kroky. Při instalaci aktualizace pro databázový stroj instalační program stáhne kumulativní aktualizace pro všechny funkce Pythonu nebo R, které jste nainstalovali ve stejné instanci.

Odpojené servery vyžadují další kroky. Další informace naleznete v tématu Instalace na počítače bez přístupu k > internetu Použít kumulativní aktualizace.

  1. Začněte s již nainstalovanou základní instancí: počáteční verze SQL Serveru.

  2. Přejděte na seznam aktualizací pro Microsoft SQL Server.

  3. Vyberte nejnovější kumulativní aktualizaci. Spustitelný soubor se stáhne a extrahuje automaticky.

  4. Spusťte instalační program a přijměte licenční podmínky.

  5. Na stránce Výběr funkce zkontrolujte funkce, pro které se použijí kumulativní aktualizace. Měli byste vidět všechny funkce nainstalované pro aktuální instanci, včetně funkcí strojového učení. Instalační program stáhne soubory CAB potřebné k aktualizaci všech funkcí.

    Snímek obrazovky znázorňující souhrn nainstalovaných funkcí

  6. Pokračujte v průvodci. Přijměte licenční podmínky pro distribuce R a Pythonu.

Další konfigurace

Pokud byl krok ověření externího skriptu úspěšný, můžete spustit příkazy jazyka R nebo Python ze sady SQL Server Management Studio, editoru Visual Studio Code nebo jakéhokoli jiného klienta, který může odesílat příkazy T-SQL na server.

Pokud se při spuštění příkazu zobrazila chyba, možná budete muset provést další konfigurace pro službu nebo databázi. Na úrovni instance můžou další konfigurace zahrnovat:

V SYSTÉMU SQL Server 2019 ve Windows se změnil mechanismus izolace. Tento mechanismus ovlivňuje SQLRUserGroup, pravidla brány firewall, oprávnění k souborům a předpokládané ověřování. Další informace najdete v tématu Změny izolace pro službu Machine Learning Services.

V databázi možná budete potřebovat aktualizace konfigurace. Další informace najdete v tématu Udělení oprávnění uživatelům ke službě SQL Server Machine Learning Services.

Poznámka:

To, jestli se vyžaduje další konfigurace, závisí na schématu zabezpečení, na kterém jste nainstalovali SQL Server, a na tom, jak očekáváte, že se uživatelé budou připojovat k databázi a spouštět externí skripty.

Navrhované optimalizace

Teď, když máte všechno funkční, můžete také chtít server optimalizovat tak, aby podporoval strojové učení nebo nainstaloval předem natrénovaný model strojového učení.

Přidání dalších pracovních účtů

Pokud očekáváte, že mnoho uživatelů bude spouštět skripty souběžně, můžete zvýšit počet pracovních účtů, které jsou přiřazeny ke službě Launchpad. Další informace najdete v tématu Škálování souběžného spouštění externích skriptů ve službě SQL Server Machine Learning Services.

Optimalizace serveru pro spouštění skriptů

Výchozí nastavení pro nastavení SQL Serveru je určené k optimalizaci rovnováhy serveru pro celou řadu dalších služeb a aplikací.

Ve výchozím nastavení jsou prostředky pro strojové učení někdy omezené nebo zpomalené, zejména při operacích náročných na paměť.

Pokud chcete zajistit, aby úlohy strojového učení byly správně seřazené podle priorit a prostředků, doporučujeme ke konfiguraci externího fondu zdrojů použít správce prostředků SQL Serveru. Můžete také změnit velikost paměti přidělené databázovému stroji SQL Serveru nebo zvýšit počet účtů spuštěných ve službě SQL Server Launchpad.

Pokud používáte Standard Edition a nemáte správce prostředků, můžete použít zobrazení dynamické správy, rozšířené události SQL Serveru a monitorování událostí systému Windows, které vám pomůžou spravovat prostředky serveru.

Instalace dalších balíčků Pythonu a R

Řešení Python a R, která vytvoříte pro SQL Server, můžou volat:

  • Základní funkce.
  • Funkce z proprietárních balíčků nainstalovaných s SQL Serverem
  • Balíčky třetích stran, které jsou kompatibilní s verzí opensourcového Pythonu a R, které SQL Server instaluje.

Balíčky, které chcete použít z SQL Serveru, musí být nainstalovány ve výchozí knihovně, kterou instance používá. Pokud máte na počítači samostatnou instalaci Pythonu nebo R nebo pokud jste nainstalovali balíčky do uživatelských knihoven, nemůžete tyto balíčky používat z T-SQL.

Pokud chcete nainstalovat a spravovat další balíčky, můžete nastavit skupiny uživatelů tak, aby sdílely balíčky na úrovni databáze, nebo můžete nakonfigurovat databázové role tak, aby uživatelům umožňovaly instalovat vlastní balíčky. Další informace najdete v tématu Instalace balíčků Pythonu a Instalace nových balíčků R.