Differenze principali tra Machine Learning Services in Istanza gestita di SQL di Azure e SQL ServerKey differences between Machine Learning Services in Azure SQL Managed Instance and SQL Server

Questo articolo descrive le poche e principali differenze di funzionalità tra Machine Learning Services in Istanza gestita di SQL di Azure e SQL Server Machine Learning Services.This article describes the few, key differences in functionality between Machine Learning Services in Azure SQL Managed Instance and SQL Server Machine Learning Services.

Lingue supportateLanguage support

Machine Learning Services in SQL Istanza gestita e SQL Server il frameworkdi estendibilità Python e R.Machine Learning Services in both SQL Managed Instance and SQL Server support the Python and R extensibility framework. Le differenze principali in SQL Istanza gestita sono:The key differences in SQL Managed Instance are:

  • Sono supportati solo Python e R.Only Python and R are supported. Non è possibile aggiungere linguaggi esterni quali Java.External languages such as Java cannot be added.

  • Le versioni iniziali di Python e R sono diverse:The initial versions of Python and R are different:

    PiattaformaPlatform Versione runtime di PythonPython runtime version Versioni di runtime RR runtime versions
    Istanza gestita di SQL di AzureAzure SQL Managed Instance 3.7.23.7.2 3.5.23.5.2
    SQL Server 2019SQL Server 2019 3.7.13.7.1 3.5.23.5.2
    SQL Server 2017SQL Server 2017 3.5.2 e 3.7.2 (CU22 e versioni successive)3.5.2 and 3.7.2 (CU22 and later) 3.3.3 e 3.5.2 (CU22 e versioni successive)3.3.3 and 3.5.2 (CU22 and later)
    SQL Server 2016SQL Server 2016 Non disponibileNot available 3.2.2 e 3.5.2 (SP2 CU14 e versioni successive)3.2.2 and 3.5.2 (SP2 CU14 and later)

Pacchetti Python e RPython and R Packages

Non è disponibile alcun supporto in SQL Istanza gestita per i pacchetti che dipendono da runtime esterni (ad esempio Java) o che necessitano dell'accesso alle API del sistema operativo per l'installazione o l'utilizzo.There is no support in SQL Managed Instance for packages that depend on external runtimes (like Java) or need access to OS APIs for installation or usage.

Per altre informazioni sulla gestione dei pacchetti Python e R, vedere:For more information about managing Python and R packages, see:

Governance delle risorseResource governance

In SQL Istanza gestita non è possibile limitare le risorse R tramite Resource Governor ei pool di risorse esterni non sono supportati.In SQL Managed Instance, it's not possible to limit R resources through Resource Governor, and external resource pools are not supported.

Per impostazione predefinita, le risorse R sono impostate su un massimo del 20% delle risorse sql Istanza gestita disponibili quando è abilitata l'estendibilità.By default, R resources are set to a maximum of 20% of the available SQL Managed Instance resources when extensibility is enabled. Per modificare questa percentuale predefinita, creare un ticket supporto tecnico di Azure all'indirizzo https://azure.microsoft.com/support/create-ticket/ .To change this default percentage, create an Azure support ticket at https://azure.microsoft.com/support/create-ticket/.

L'estendibilità è abilitata con i comandi SQL seguenti (SQL Istanza gestita verrà riavviato e non sarà disponibile per alcuni secondi):Extensibility is enabled with the following SQL commands (SQL Managed Instance will restart and be unavailable for a few seconds):

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;

Per disabilitare l'estendibilità e ripristinare il 100% delle risorse di memoria e CPU SQL Server, usare i comandi seguenti:To disable extensibility and restore 100% of memory and CPU resources to SQL Server, use the following commands:

sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;

Le risorse totali disponibili per SQL Istanza gestita dipendono dal livello di servizio scelto.The total resources available to SQL Managed Instance depend on which service tier you choose. Per altre informazioni, vedere Modelli di acquisto del database SQL di Azure.For more information, see Azure SQL Database purchasing models.

Errore di memoria insufficienteInsufficient memory error

L'utilizzo della memoria dipende dalla quantità usata negli script R e dal numero di query parallele in esecuzione.Memory usage depends on how much is used in your R scripts and the number of parallel queries being executed. Se la memoria disponibile per R è insufficiente, verrà visualizzato un messaggio di errore.If there is insufficient memory available for R, you'll get an error message. I messaggi di errore comuni sono:Common error messages are:

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

Se si riceve uno di questi errori, è possibile risolverlo ridimensionando il database a un livello di servizio superiore.If you receive one of these errors, you can resolve it by scaling your database to a higher service tier.

Pool di Istanza gestita SQLSQL Managed Instance pools

Machine Learning Services attualmente non è supportato nei pool Istanza gestita di SQL di Azure (anteprima).Machine Learning Services is currently not supported on Azure SQL Managed Instance pools (preview).

Passaggi successiviNext steps