Viktiga skillnader medllan Machine Learning Services i Azure SQL Managed Instance och SQL Server
I den här artikeln beskrivs några viktiga skillnader i funktionalitet mellan Machine Learning Services i Azure SQL Managed Instance och SQL Server Machine Learning Services.
Språkstöd
Machine Learning Services i både SQL Managed Instance och SQL Server stöder python- och R-utökningsramverket. En viktig skillnad i SQL Managed Instance är att endast Python och R stöds och att externa språk som Java inte kan läggas till.
De första versionerna av Python och R skiljer sig åt i SQL Managed Instance och SQL Server:
Plattform | Python-körningsversion | R-körningsversioner |
---|---|---|
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 och 3.7.2 (CU22 och senare) | 3.3.3 och 3.5.2 (CU22 och senare) |
SQL Server 2016 | Inte tillgängliga | 3.2.2 och 3.5.2 (SP2 CU14 och senare) |
* Från och med SQL Server 2022 levereras eller installeras inte längre körningar för R, Python och Java i SQL-installationsprogrammet. Installera i stället önskade R- och/eller Python-anpassade körningar och paket. Mer information finns i Installera SQL Server 2022 Machine Learning Services (Python och R) i Windows.
Python- och R-paket
Det finns inget stöd i SQL Managed Instance för paket som är beroende av externa körningar (till exempel Java) eller som behöver åtkomst till OS-API:er för installation eller användning.
Mer information om hur du hanterar Python- och R-paket finns i:
Hantera paket via sqlmlutils
Du kan installera binära paket med sqlmlutils
, om du kan skapa lokalt för att skapa ett binärt paket som utdata. Exempel finns i Installera R-paket med sqlmlutils eller Installera Python-paket med sqlmlutils.
Resursstyrning
I SQL Managed Instance går det inte att begränsa R-resurser via Resource Governor, och externa resurspooler stöds inte.
Som standard är R-resurser inställda på högst 20 % av de tillgängliga SQL Managed Instance-resurserna när utökningsbarhet är aktiverat. Om du vill ändra den här standardprocenten skapar du ett Azure-supportärende på https://azure.microsoft.com/support/create-ticket/.
Utökningsbarhet aktiveras med följande SQL-kommandon (SQL Managed Instance startas om och är inte tillgänglig i några sekunder):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Om du vill inaktivera utökningsbarhet och återställa 100 % av minne och CPU-resurser till SQL Server använder du följande kommandon:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
De totala resurser som är tillgängliga för SQL Managed Instance beror på vilken tjänstnivå du väljer. Mer information finns i Köpmodeller för Azure SQL Database.
Otillräckligt minnesfel
Minnesanvändningen beror på hur mycket som används i R-skripten och hur många frågor som körs parallellt. Om det inte finns tillräckligt med minne för R får du ett felmeddelande. Vanliga felmeddelanden är:
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.
Om du får något av dessa fel kan du lösa det genom att skala databasen till en högre tjänstnivå.
Om det uppstår minnesfel i Azure SQL Managed Instance läser du sys.dm_os_out_of_memory_events.
SQL Managed Instance-pooler
Machine Learning Services stöds för närvarande inte i Azure SQL Managed Instance-pooler (förhandsversion).
Utgående nätverksåtkomst
Nätverksåtkomst tillåts inte eller blockeras och kan inte aktiveras. Den utgående nätverksanslutningen för Azure SQL Managed Instance är inte avaialble för Machine Learning Services.
Nästa steg
- Se översikten, Machine Learning Services i Azure SQL Managed Instance.
- Mer information om hur du använder Python i Machine Learning Services finns i Köra Python-skript.
- Mer information om hur du använder R i Machine Learning Services finns i Kör R-skript.