Differenze principali tra Machine Learning Services in Istanza gestita di SQL di Azure e SQL Server

Questo articolo descrive le poche differenze principali nelle funzionalità tra Servizi di Machine Learning in Istanza gestita di SQL di Azure e Servizi di Machine Learning per SQL Server.

Supporto di versioni in lingue diverse

Servizi di Machine Learning sia in Istanza gestita di SQL che in SQL Server supportano il framework di estendibilità Python e R. Una differenza fondamentale in Istanza gestita di SQL è che sono supportati solo Python e R e non è possibile aggiungere linguaggi esterni come Java.

Le versioni iniziali di Python e R sono diverse in Istanza gestita di SQL e SQL Server:

Piattaforma Versione runtime di Python Versioni di runtime R
Istanza gestita di SQL di Azure 3.7.2 3.5.2
SQL Server 2022* - -
SQL Server 2019 3.7.1 3.5.2
SQL Server 2017 3.5.2 e 3.7.2 (CU22 e versioni successive) 3.3.3 e 3.5.2 (CU22 e versioni successive)
SQL Server 2016 Non disponibile 3.2.2 e 3.5.2 (SP2 CU14 e versioni successive)

* A partire da SQL Server 2022, i runtime per R, Python e Java non vengono più installati con l'installazione di SQL. Installare invece i runtime e i pacchetti personalizzati per R e/o Python che si intende usare. Per altre informazioni, vedere Installare SQL Server 2022 Machine Learning Services (Python e R) in Windows.

Pacchetti Python e R

In Istanza gestita di SQL è disponibile il supporto per i pacchetti che dipendono da runtime esterni, ad esempio Java, o richiedono l'accesso alle API del sistema operativo per l'installazione o l'utilizzo.

Per altre informazioni sull’installazione e la gestione dei pacchetti R, vedere:

Gestire i pacchetti tramite sqlmlutils

È possibile installare pacchetti binari con sqlmlutils, se è possibile compilare localmente per produrre un pacchetto binario come output. Per esempi, vedere Installare pacchetti R con sqlmlutils e Installare nuovi pacchetti Python con sqlmlutils.

Governance delle risorse

In Istanza gestita di SQL non è possibile limitare le risorse R mediante Resource Governor e i pool di risorse esterni non sono supportati.

Per impostazione predefinita, le risorse R vengono impostate su un massimo del 20% delle risorse disponibili Istanza gestita di SQL quando è abilitata l'estendibilità. Per modificare questa percentuale predefinita, creare un ticket di supporto tecnico di Azure in https://azure.microsoft.com/support/create-ticket/.

L'estendibilità viene abilitata con i comandi SQL seguenti (Istanza gestita di SQL verrà riavviato e non sarà disponibile per alcuni secondi):

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

Per disabilitare l'estendibilità e ripristinare il 100% delle risorse di memoria e CPU in SQL Server, usare i comandi seguenti:

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

Le risorse totali disponibili per Istanza gestita di SQL dipendono dal livello di servizio scelto. Per altre informazioni, vedere Modelli di acquisto del database SQL di Azure.

Errore memoria insufficiente

L'utilizzo della memoria dipende dalla quantità usata negli script R e dal numero di query parallele in esecuzione. Se la memoria disponibile per R non è sufficiente, verrà visualizzato un messaggio di errore. I messaggi di errore comuni sono:

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

Se si verificano errori di memoria insufficiente in Istanza gestita di SQL di Azure, esaminare sys.dm_os_out_of_memory_events.

Pool di istanze gestite di SQL

Servizi di Machine Learning non è attualmente supportato nei pool di Istanza gestita di SQL di Azure (anteprima).

Accesso rete in uscita

L'accesso alla rete non è consentito o bloccato e non può essere abilitato. La connessione di rete in uscita per Istanza gestita di SQL di Azure non è disponibile per Servizi di Machine Learning.

Passaggi successivi