Sdílet prostřednictvím


Klíčové rozdíly mezi Machine Learning Services ve službách Azure SQL Managed Instance a SQL Server

Tento článek popisuje několik klíčových rozdílů ve funkcích mezi službami Machine Učení Services ve službě Azure SQL Managed Instance a službou SQL Server Machine Učení Services.

Podpora jazyků

Machine Učení Services ve spravované instanci SQL i SQL Serveru podporují architekturu rozšiřitelnosti Pythonu 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 * - -
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ší)

* 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 systému SQL Server 2022 Machine Učení Services (Python a R) ve Windows.

Balíčky Pythonu a R

Ve službě SQL Managed Instance neexistuje žádná podpora balíčků, které jsou závislé na externích modulech runtime (například Javě) 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í nástrojů sqlmlutils nebo Instalace balíčků Python 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 podpora Azure na adrese https://azure.microsoft.com/support/create-ticket/.

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 Nákupní modely služby Azure SQL Database.

Chyba nedostatku paměti

Využití paměti závisí na tom, kolik se jí používá ve skriptech R, a na počtu spuštěných paralelních dotazů. Pokud pro jazyk R není k dispozici dostatek paměti, zobrazí se chybová zpráva. Běžné chybové zprávy jsou:

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

Fondy spravovaných instancí SQL

Služba Machine Učení Services se v současné době nepodporuje ve fondech služby Azure SQL Managed Instance (Preview).

Odchozí síťový přístup

Přístup k síti je zakázán nebo blokován a nelze ho povolit. Odchozí síťové připojení pro službu Azure SQL Managed Instance není pro službu Machine Učení Services dostupné.

Další kroky