Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server 2022 (16.x)
V tomto článku se dozvíte, jak nainstalovat SQL Server Machine Learning Services s Pythonem a R ve Windows. Pomocí služby Machine Learning Services můžete spouštět skripty Pythonu a R v databázi.
Poznámka:
Tyto pokyny jsou specifické pro SQL Server 2022 (16.x) ve Windows. Pokud chcete nainstalovat SQL Server Machine Learning Services ve Windows pro SQL Server 2016 (13.x), SQL Server 2017 (14.x) nebo SQL Server 2019 (15.x), přečtěte si téma Instalace služby SQL Server Machine Learning Services (Python a R) ve Windows.
Informace o Linuxu najdete v tématu Instalace sql Serveru 2019 Machine Learning Services (Python a R) v Linuxu.
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í 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 Machine Learning Services se podporuje také na instancích Always On failover clusteru v SQL Serveru 2019 a novějších verzích.
Nenainstalujte službu Machine Learning Services na řadič domény. Část instalace služby Machine Learning Services selže.
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 nemůže spravovat skripty R a Python, které běží v externích knihovnách, což vede ke kolizi prostředků.
Důležité
Po dokončení instalace nezapomeňte dokončit kroky po konfiguraci popsané v tomto článku. Mezi tyto kroky může patřit povolení sql Serveru používat externí skripty. 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:
Verze 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 Společnosti Microsoft.
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.
Pokud během instalace dojde k jakýmkoli chybám, zkontrolujte souhrnný protokol ve složce protokolu Bootstrap instalačního programu (například %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt
).
Spusťte průvodce instalací systému SQL Server 2022.
Na kartě Instalace vyberte Samostatná instalace Nového SQL Serveru nebo přidejte funkce do existující instalace.
Na stránce Výběr funkcí vyberte tyto možnosti:
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 buď výchozí, nebo pojmenovanou instanci.
Machine Learning Services a programovací jazyk
Tato možnost nainstaluje databázové služby, které podporují spouštění skriptů jazyka R a Python.
Tento snímek obrazovky ukazuje minimální funkce instance, které se mají zkontrolovat při instalaci služby Machine Learning Services systému SQL Server 2022 (16.x).
Instalace modulů runtime a balíčků
Počínaje SQL Serverem 2022 (16.x) se moduly runtime pro R, Python a Java už nedoručují ani nenainstalují s instalací SQL Serveru. Místo toho použijte následující části k instalaci vlastních běhových prostředí a balíčků.
Nastavení podpory jazyka R
Instalace modulu runtime R
Stáhněte a nainstalujte nejnovější verzi R 4.2 pro Windows.
Nainstalujte závislosti pro
CompatibilityAPI
aRevoScaleR
. V terminálu R nainstalované verze spusťte následující příkazy:# R Terminal install.packages("iterators") install.packages("foreach") install.packages("R6") install.packages("jsonlite")
Stáhněte a nainstalujte nejnovější verzi
CompatibilityAPI
balíčkůRevoScaleR
: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)
Konfigurace modulu runtime R s SQL Serverem
Nakonfigurujte nainstalovaný modul runtime R pomocí SQL Serveru. Výchozí verzi můžete změnit pomocí nástroje příkazového
RegisterRext.exe
řádku. Nástroj je ve složce aplikace R, která závisí na instalaci. Obvykle je to v%ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64
.Pomocí následujícího skriptu můžete nakonfigurovat nainstalovaný modul runtime jazyka R z umístění
RegisterRext.exe
instalační složky . Název instance jeMSSQLSERVER
určen pro výchozí instanci SQL Serveru nebo název instance pro pojmenovanou instanci SQL Serveru..\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"MSSQLSERVER"
Pokud konfigurujete pojmenovanou instanci SQL Serveru, kterou byste normálně označovali jako ".\SQLEXPRESS" nebo "MACHINENAME\SQLEXPRESS", zahrňte pouze název instance. Například:
.\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"
Pomocí aplikace SQL Server Management Studio (SSMS) nebo Azure Data Studio se připojte k instanci, ve které jste nainstalovali službu SQL Server Machine Learning Services. Výběrem možnosti Nový dotaz otevřete okno dotazu a spuštěním následujícího příkazu povolte funkci externího skriptování:
EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE
Pokud jste tuto funkci už povolili pro jiný jazyk, nemusíte pro jazyk R spouštět
RECONFIGURE
podruhé. Základní platforma rozšiřitelnosti podporuje oba jazyky. Pro ověření zkontrolujte, zda následující příkaz vrátí1
proconfig_value
arun_value
:EXEC sp_configure 'external scripts enabled';
Restartujte službu SQL Serveru. Restartování služby také automaticky restartuje související službu SQL Server Launchpad.
Službu můžete restartovat pomocí příkazu Restartovat pro instanci v Průzkumníku objektů SSMS nebo pomocí položky Služby v Ovládacích panelech nebo pomocí nástroje SQL Server Configuration Manager.
Ověřte instalaci spuštěním jednoduchého příkazu T-SQL, který vrátí verzi jazyka R:
EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R'; GO
Nastavení podpory Pythonu
Instalace modulu runtime Pythonu
Stáhněte si nejnovější verzi Pythonu 3.10 pro Windows. Nainstalujte ho pomocí následujících možností:
Otevřete instalační aplikaci Pythonu a vyberte Přizpůsobit instalaci.
Ověřte, že je zaškrtnuté políčko Instalovat spouštěč pro všechny uživatele (doporučeno).
U volitelných funkcí vyberte požadované funkce (nebo je vyberte všechny).
Na stránce Upřesnit možnosti vyberte Nainstalovat pro všechny uživatele, přijměte další výchozí možnosti a pak vyberte Nainstalovat.
Doporučujeme použít instalační cestu Pythonu, ke které mají všichni uživatelé přístup (například
C:\Program Files\Python310
) a ne k jedné, která je specifická pro jednoho uživatele.
Stáhněte a nainstalujte nejnovější verzi
revoscalepy
balíčku a její závislosti z nového příkazového řádku se zvýšenými oprávněními: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 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
Spuštěním následujících příkazů icacls udělte oprávnění KE ČTENÍ a EXECUTE přístup k nainstalovaným knihovenm pro SLUŽBU LAUNCHPAD SYSTÉMU SQL Server a SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES). Potřebujete udělit oprávnění k účtu služby přidruženému ke službě Launchpad a zkontrolovat to v SQL Server Configuration Manager.
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
Pokud jste SQL Server nainstalovali jako pojmenovanou instanci, může mít
$
účet služby uprostřed, například: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
Konfigurace modulu runtime Pythonu s VYUŽITÍM SQL Serveru
Nakonfigurujte nainstalovaný modul runtime Pythonu s SQL Serverem. Výchozí verzi můžete změnit pomocí nástroje příkazového
RegisterRext.exe
řádku. Program je nainstalován v přizpůsobeném umístění instalace (napříkladC:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs
).Z příkazového řádku se zvýšenými oprávněními můžete pomocí následujícího skriptu nakonfigurovat nainstalovaný modul runtime Pythonu z umístění
RegisterRext.exe
instalační složky . Název instance jeMSSQLSERVER
určen pro výchozí instanci SQL Serveru nebo název instance pro pojmenovanou instanci SQL Serveru.cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs" .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"MSSQLSERVER"
Pokud konfigurujete pojmenovanou instanci SQL Serveru, kterou byste normálně označovali jako ".\SQLEXPRESS" nebo "MACHINENAME\SQLEXPRESS", zahrňte pouze název instance. Například:
cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs" .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"
Pomocí aplikace SQL Server Management Studio nebo Azure Data Studio se připojte k instanci, ve které jste nainstalovali službu SQL Server Machine Learning Services. Výběrem možnosti Nový dotaz otevřete okno dotazu a spuštěním následujícího příkazu povolte funkci externího skriptování:
EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE
Pokud jste tuto funkci už povolili pro jiný jazyk, nemusíte pro jazyk R spouštět
RECONFIGURE
podruhé. Základní platforma rozšiřitelnosti podporuje oba jazyky. Ověřte, zda následující příkaz vrátí1
proconfig_value
arun_value
.EXEC sp_configure 'external scripts enabled';
Restartujte službu SQL Serveru. Restartování služby také automaticky restartuje související službu SQL Server Launchpad.
Službu můžete restartovat pomocí příkazu Restartovat pro instanci v Průzkumníku objektů SSMS nebo pomocí položky Služby v Ovládacích panelech nebo pomocí nástroje SQL Server Configuration Manager.
Ověřte instalaci spuštěním jednoduchého příkazu, který vrátí verzi Pythonu:
EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python' GO
Nainstalujte Javu
Informace o instalaci a používání Javy najdete v tématu Instalace rozšíření jazyka Java pro SQL Server ve Windows.
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.
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.
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:
- Konfigurace firewallu pro Machine Learning Services na SQL Serveru
- Povolení nebo zakázání síťového protokolu serveru
- konfigurace Serveru: vzdálený přístup
- Vytvoření přihlášení pro SQLRUserGroup
- Spravujte diskové kvóty, abyste zabránili externím skriptům spouštět úlohy, které by mohly vyčerpat místo na disku.
Počínaje SQL Serverem 2019 ve 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 SQL Server ve Windows: 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 databáze ke spouštění skriptů Python a R pomocí služby SQL Server Machine Learning Services.
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í.
Optimalizace serveru pro spouštění skriptů
Výchozí nastavení pro nastavení SQL Serveru je určené k optimalizaci rovnováhy serveru pro různé další služby a aplikace.
Ve výchozím nastavení jsou prostředky pro strojové učení někdy omezené nebo škrcené, zejména v operacích vyžadujících velkou kapacitu paměti.
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 chcete nakonfigurovat fond zdrojů pro správu externích prostředků, přečtěte si téma CREATE EXTERNAL RESOURCE POOL (Transact-SQL).
Informace o změně velikosti paměti rezervované pro databázi najdete v tématu Možnosti konfigurace paměti serveru.
Pokud chcete změnit počet účtů R, které může spustit spouštěcí panel SQL Serveru, přečtěte si téma Škálování souběžného spouštění externích skriptů ve službě SQL Server Machine Learning Services.
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ů pro sdílení balíčků na úrovni databáze. Nebo můžete nakonfigurovat databázové role, které uživatelům umožní instalovat vlastní balíčky. Další informace najdete v tématu Instalace balíčků Pythonu pomocí nástrojů sqlmlutils a Instalace balíčků R pomocí sqlmlutils.
Samostatné balíčky RevoScale pro runtime prostředí Pythonu a R
Balíčky RevoScale jsou podporovány také jako samostatně použitelné balíčky s podporou runtime modulů Pythonu a R. Pokud chcete nastavit modul runtime Pythonu nebo R pro nezávislý scénář, postupujte podle pokynů v oddílech Instalace modulu runtime Python a Instalace modulu runtime R.
Související obsah
- Kurz k Pythonu: Nasazení modelu lineární regrese s využitím strojového učení SQL
- Kurz Pythonu: Kategorizace zákazníků pomocí clusteringu K-Means s využitím strojového učení SQL
- rychlý start : Spouštění jednoduchých skriptů jazyka R s využitím strojového učení SQL
- Návod R: Předpověď jízdného taxislužby v NYC pomocí binární klasifikace