Principais diferenças entre o Machine Learning Services no SQL Managed Instance e no SQL ServerKey differences between Machine Learning Services in Azure SQL Managed Instance and SQL Server

Este artigo descreve as poucas diferenças fundamentais na funcionalidade entre serviços de aprendizagem automática em Azure SQL Managed Instance 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.

Suporte de idiomasLanguage support

Os serviços de machine learning tanto no SQL Managed Instance como no SQL Server suportam o quadro de extensibilidadePython e R.Machine Learning Services in both SQL Managed Instance and SQL Server support the Python and R extensibility framework. As principais diferenças em SQL Managed Instance são:The key differences in SQL Managed Instance are:

  • Apenas existe suporte para Python e R.Only Python and R are supported. Não pode adicionar linguagens externas como Java.External languages such as Java cannot be added.

  • As versões iniciais de Python e R são diferentes:The initial versions of Python and R are different:

    PlataformaPlatform Versão de tempo de execução pythonPython runtime version Versões de execução RR runtime versions
    Instância Gerida do SQL do 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 posteriormente)3.5.2 and 3.7.2 (CU22 and later) 3.3.3 e 3.5.2 (CU22 e posteriormente)3.3.3 and 3.5.2 (CU22 and later)
    SQL Server 2016SQL Server 2016 Não disponívelNot available 3.2.2 e 3.5.2 (SP2 CU14 e posteriormente)3.2.2 and 3.5.2 (SP2 CU14 and later)

Pacotes Python e RPython and R Packages

Não existe suporte em SQL Managed Instance para pacotes que dependam de tempos de execução externos (como Java) ou que necessitem de acesso a APIs de OS para instalação ou utilização.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.

Para obter mais informações sobre a gestão de pacotes Python e R, consulte:For more information about managing Python and R packages, see:

Gestão de recursosResource governance

Em SQL Managed Instance, não é possível limitar os recursos R através do Governador de Recursos,e os pools de recursos externos não são suportados.In SQL Managed Instance, it's not possible to limit R resources through Resource Governor, and external resource pools are not supported.

Por padrão, os recursos R são definidos para um máximo de 20% dos recursos de Instância Gerida SQL disponíveis quando a extensibilidade está ativada.By default, R resources are set to a maximum of 20% of the available SQL Managed Instance resources when extensibility is enabled. Para alterar esta percentagem de incumprimento, crie um bilhete de apoio Azure em 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/.

A extensibilidade é ativada com os seguintes comandos SQL (SQL Managed Instance reiniciará e ficará indisponível por alguns segundos):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;

Para desativar a extensibilidade e restaurar 100% dos recursos de memória e CPU para o SQL Server, utilize os seguintes comandos: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;

Os recursos totais disponíveis para a SQL Managed Instance dependem do nível de serviço que escolher.The total resources available to SQL Managed Instance depend on which service tier you choose. Para mais informações, consulte os modelos de compra da Base de Dados Azure SQL.For more information, see Azure SQL Database purchasing models.

Erro de memória insuficienteInsufficient memory error

A utilização da memória depende da quantidade utilizada nos scripts R e do número de consultas paralelas em execução.Memory usage depends on how much is used in your R scripts and the number of parallel queries being executed. Se não houver memória suficiente disponível para R, receberá uma mensagem de erro.If there is insufficient memory available for R, you'll get an error message. As mensagens de erro comuns são: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 receber um destes erros, pode resolvê-lo escalando a sua base de dados para um nível de serviço mais elevado.If you receive one of these errors, you can resolve it by scaling your database to a higher service tier.

Piscinas de instância gerida SQLSQL Managed Instance pools

Atualmente, os Serviços de Machine Learning não são suportados em piscinas de instância gerida Azure SQL (pré-visualização).Machine Learning Services is currently not supported on Azure SQL Managed Instance pools (preview).

Passos seguintesNext steps