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.
Tento článek popisuje několik klíčových rozdílů ve funkcích mezi službami Machine Learning Services ve službě Azure SQL Managed Instance a služby SQL Server Machine Learning Services.
Podpora jazyků
Machine Learning Services ve spravované instanci SQL i SQL Serveru podporují architekturu rozšiřitelnostijazyka Python a R. Klíčovým rozdílem ve službě SQL Managed Instance je to, že se podporují jenom Python a R a nedají se přidat externí jazyky, jako je Java.
Počáteční verze Pythonu a R se liší ve službě SQL Managed Instance a SQL Serveru:
| Platforma | Verze modulu runtime Pythonu | Verze modulu runtime jazyka R |
|---|---|---|
| Azure SQL Managed Instance | 3.7.2 | 3.5.2 |
| SQL Server 2022 1 | - | - |
| SQL Server 2019 | 3.7.1 | 3.5.2 |
| SQL Server 2017 | 3.5.2 a 3.7.2 (CU22 a novější) | 3.3.3 a 3.5.2 (CU22 a novější) |
| SQL Server 2016 | Není k dispozici | 3.2.2 a 3.5.2 (SP2 CU14 a novější) |
1 Počínaje SQL Serverem 2022 se moduly runtime pro R, Python a Java už nedoručují ani nenainstalují v rámci instalace SQL. Místo toho nainstalujte požadované vlastní moduly runtime a balíčky jazyka R nebo Python. Další informace najdete v tématu Instalace služby SQL Server 2022 Machine Learning Services (Python a R) ve Windows.
Balíčky Pythonu a R
Ve službě SQL Managed Instance neexistuje žádná podpora pro balíčky, které jsou závislé na externích modulech runtime (jako Java) nebo potřebují přístup k rozhraním API operačního systému pro účely instalace nebo použití.
Další informace o správě balíčků Python a R najdete tady:
Správa balíčků prostřednictvím sqlmlutils
Binární balíčky můžete nainstalovat pomocí sqlmlutils, pokud můžete sestavit místně a vytvořit binární balíček jako výstup. Příklady najdete v tématu Instalace balíčků R pomocí sqlmlutils.
Zásady správného řízení prostředků
Ve službě SQL Managed Instance není možné omezit prostředky R prostřednictvím správce prostředků a externí fondy zdrojů se nepodporují.
Ve výchozím nastavení jsou prostředky jazyka R nastaveny na maximálně 20% dostupných prostředků služby SQL Managed Instance při povolení rozšiřitelnosti. Pokud chcete toto výchozí procento změnit, vytvořte lístek podpory Azure.
Rozšiřitelnost je povolená pomocí následujících příkazů SQL (služba SQL Managed Instance se restartuje a nebude dostupná po několik sekund):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Pokud chcete zakázat rozšiřitelnost a obnovit 100% prostředků paměti a procesoru na SQL Server, použijte následující příkazy:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Celkový počet prostředků dostupných pro službu SQL Managed Instance závisí na zvolené úrovni služby. Další informace najdete v tématu Porovnání nákupních modelů založených na virtuálních jádrech a DTU služby Azure SQL Database.
Chyba nedostatku paměti
Využití paměti závisí na tom, kolik se používá ve skriptech R, a počtu spuštěných paralelních dotazů. Pokud pro jazyk R není k dispozici dostatek paměti, zobrazí se chybová zpráva. Mezi běžné chybové zprávy patří:
Unable to communicate with the runtime for 'R' script for request id: *******. Please check the requirements of 'R' runtime'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. ...an external script error occurred: "..could not allocate memory (0 Mb) in C function 'R_AllocStringBuffer'"An external script error occurred: Error: cannot allocate vector of size.
Pokud se zobrazí jedna z těchto chyb, můžete ji vyřešit škálováním databáze na vyšší úroveň služby.
Pokud ve službě Azure SQL Managed Instance narazíte na chyby nedostatku paměti, projděte si sys.dm_os_out_of_memory_events.
Skupiny spravovaných instancí SQL
Služba Machine Learning Services se v současné době nepodporuje ve fondech spravovaných instancí Azure SQL.
Odchozí síťový přístup
Přístup k síti je zakázaný nebo zablokovaný a nejde ho povolit. Odchozí síťové připojení pro službu Azure SQL Managed Instance není k dispozici pro službu Machine Learning Services.