Sdílet prostřednictvím


Instalace služeb SQL Server Machine Learning (Python a R) na Windows

Platí pro: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

V tomto článku se dozvíte, jak nainstalovat SQL Server Machine Learning Services na Windows. Pomocí služby Machine Learning Services můžete spouštět Python a skripty jazyka 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 Server 2022 (16.x) najdete na Návod k instalaci SQL Server 2022 Machine Learning Services na Windows.

Referenční informace k Python a verzi jazyka R

Následující tabulka uvádí Python a verze modulu runtime R, které jsou součástí každé verze SQL Server. Tuto tabulku použijte k určení jazykových verzí dostupných pro vaši instanci SQL Server.

verze SQL Server Python verze Verze jazyka R
SQL Server 2016 (13.x) Není k dispozici (pouze R) 3.2.2
SQL Server 2017 (14.x) RTM – CU21 3.5.2 3.3.3
SQL Server 2017 (14.x) CU22 a novější 3.5.2 a 3.7.2 3.3.3 a 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

Poznámka:

Počínaje verzí SQL Server 2022 (16.x), moduly runtime pro R, Python a Java se už nenainstalují s instalačním programem SQL Server. Místo toho nainstalujte vlastní prostředí a požadované balíčky. Další informace najdete v tématu Install SQL Server 2022 Machine Learning Services on Windows.

Další informace o všech podporovaných verzích najdete v tématu Co je SQL Server Machine Learning Services?

Kontrolní seznam k předinstalaci

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

  • Pro zajištění neustálého chodu podnikových procesů jsou pro Služby strojového učení podporována Seskupení dostupnosti Always On. Nainstalujte na každý uzel Machine Learning Services a nakonfigurujte balíčky.

  • Instalace Machine Learning Services není podporována na instanci clusteru převzetí služeb při selhání Always On ve SQL Server 2017. Podporuje se v SQL Server 2019 a novějších verzích. V době instalace musíte nainstalovat služby Machine Learning Services a po instalaci není možné přidat funkce do existující instance clusteru s podporou převzetí služeb při selhání.

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

  • Neinstalujte Sdílené funkce>Machine Learning Server (samostatný) na stejném počítači, 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 Python a R je podporovaná, ale nedoporučujeme ji. Podporuje se, protože instance SQL Server používá své vlastní kopie opensourcových distribucí R a Anaconda. Nedoporučujeme ho, 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 spouštíte v SQL Server.
    • SQL Server nemůže řídit skripty R a Python, které běží v externích knihovnách, což vede ke kolizi prostředků.

Poznámka:

Machine Learning Služby se ve výchozím nastavení instalují na SQL Server Big Data Clusters. 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žeb Machine Learning (Python a R) na Big Data Clusters.

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 Server používat externí skripty a přidávat účty, 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:

  • SQL Server Enterprise, Standard a Express edice. 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 Server podporují integraci Python a R se službami Machine Learning Services, najdete v tématu Editions a podporované funkce SQL Server 2017.

Další informace o tom, které edice SQL Server podporují integraci Python a R se službami Machine Learning Services, najdete v tématu Editions a podporované funkce SQL Server 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 spuštění vzdálené sdílené složky.

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

  2. Na kartě Instalace vyberte Nová samostatná instalace SQL Serveru nebo přidání funkcí do existující instalace.

    Screenshot, která zobrazuje možnost vytvoření samostatné instalace SQL Server nebo přidání funkcí do existující instalace.

    Screenshot, která zobrazuje možnost použití nové samostatné instalace SQL Server nebo přidání funkcí do existující instalace.

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

    • Database Engine Services

      Pokud chcete používat R a Python s SQL Server, 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ů R a Python.

    • Database Engine Services

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

    • Machine Learning Services and Language Extension

      Tato možnost nainstaluje databázové služby, které podporují spouštění skriptů 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 Python, spustitelný soubor Python a vybrat knihovny z distribuce Anaconda. Konkrétní Python verzi, která je součástí vaší verze SQL Server, najdete v referenčních informacích k Python a verzi jazyka R.

    Informace o instalaci a používání Java najdete v tématu Instalace jazykového rozšíření SQL Server Java na Windows.

    Snímek obrazovky, který ukazuje možnosti nastavení pro R a Python.

    Screenshot zobrazující možnosti výběru 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 Consent pro instalaci Python vyberte Accept>Dalši. Python opensourcová licenční smlouva se zabývá také anacondou a souvisejícími nástroji a také některými novými knihovnami Python 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 najdete v části Zobrazení a čtení souborů protokolu instalačního programu 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 Consent pro instalaci Python vyberte Accept>Dalši. Python opensourcová licenční smlouva se zabývá také anacondou a souvisejícími nástroji a také některými novými knihovnami Python 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 enginu
    • 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 najdete v tématu Zobrazit a přečíst si soubory protokolu instalace 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>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í SQL Server Management Studio (SSMS) se připojte k instanci, ve které jste nainstalovali 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 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ím služby se také automaticky restartuje související služba SQL Server Launchpad.

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

  • Klikněte pravým tlačítkem na příkaz Restart instance v Object Explorer v nástroji SSMS.
  • Položka Služby konzoly MMC (Microsoft Management Console) v Control Panel
  • 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 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ích panelů Services nebo SQL Server Configuration Manager a ověřte, že je spuštěná služba SQL Server Launchpad. 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ě najdete v tématu Architektura rozšiřitelnosti v SQL Server Machine Learning Services.

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

    V SQL Server Management Studio otevřete nové okno Query 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 Python 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 do existující instance SQL Server přidali Machine Learning Services 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.

Pomocí následujícího postupu přeneste Machine Learning Services do stejné verze jako databázový stroj:

  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 Server 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 najdete v tématu Určete verzi, edici a úroveň aktualizace SQL Serveru a jeho komponent.

  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 Machine Learning Services s novou instalací databázového stroje SQL Server, doporučujeme nainstalovat nejnovější kumulativní aktualizaci na databázový stroj i součásti machine learning.

Na zařízeních připojených k internetu se kumulativní aktualizace obvykle používají prostřednictvím 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 Python nebo funkce jazyka 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í: SQL Server počáteční verzi.

  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 distribuci R a Python.

Další konfigurace

Pokud byl krok ověření externího skriptu úspěšný, můžete spustit příkazy R nebo Python z SQL Server Management Studio, 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:

Ve SQL Server 2019 na Windows se mechanismus izolace změnil. 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 Izolace změny pro služby strojového učení.

V databázi možná budete potřebovat aktualizace konfigurace. Další informace naleznete v tématu Povolení pro uživatele k 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 Soustupné souběžné spouštění externích skriptů ve službách SQL Server Machine Learning Services.

Optimalizace serveru pro spouštění skriptů

Výchozí nastavení pro nastavení SQL Server slouží 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 priority a prostředky, doporučujeme ke konfiguraci externího fondu zdrojů použít SQL Server Resource Governor. Můžete také změnit množství paměti přidělené databázovému stroji SQL Server nebo zvýšit počet účtů spuštěných ve službě SQL Server Launchpad.

Pokud používáte Standardní edici a nemáte Resource Governor, můžete ke správě prostředků serveru použít zobrazení dynamické správy, rozšířené události SQL Serveru a Windows monitorování událostí.

Instalace dalších balíčků Python 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 Server
  • Balíčky třetích stran, které jsou kompatibilní s verzí open-source Pythonu a R, které nainstaluje SQL Server.

Balíčky, které chcete použít z SQL Server, musí být nainstalované ve výchozí knihovně, kterou instance používá. Pokud máte v počítači samostatnou instalaci Python 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 naleznete v tématu Instalace nových balíčků R.