Azure SQL Managed Instance와 SQL Server의 Machine Learning Services에 대한 주요 차이점Key differences between Machine Learning Services in Azure SQL Managed Instance and SQL Server

이 문서에서는 Azure SQL Managed Instance의 Machine Learning ServicesSQL 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.

언어 지원Language support

SQL Managed Instance와 SQL Server의 Machine Learning Services에서는 Python 및 R 확장성 프레임워크를 지원합니다.Machine Learning Services in both SQL Managed Instance and SQL Server support the Python and R extensibility framework. SQL Managed Instance의 주요 차이점은 다음과 같습니다.The key differences in SQL Managed Instance are:

  • Python 및 R만 지원됩니다.Only Python and R are supported. Java와 같은 외부 언어를 추가할 수 없습니다.External languages such as Java cannot be added.

  • 초기 버전 Python 및 R의 차이점은 다음과 같습니다.The initial versions of Python and R are different:

    플랫폼Platform Python 런타임 버전Python runtime version R 런타임 버전R runtime versions
    Azure SQL Managed InstanceAzure 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 및 3.7.2(CU22 이상)3.5.2 and 3.7.2 (CU22 and later) 3.3.3 및 3.5.2(CU22 이상)3.3.3 and 3.5.2 (CU22 and later)
    SQL Server 2016SQL Server 2016 사용할 수 없음Not available 3.2.2 및 3.5.2(SP2 CU14 이상)3.2.2 and 3.5.2 (SP2 CU14 and later)

Python 및 R 패키지Python and R Packages

설치 또는 사용 시 OS API에 액세스해야 하거나 외부 런타임(예: Java)에 의존하는 패키지의 SQL Managed Instance에서는 지원되지 않습니다.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.

Python 및 R 패키지를 관리하는 방법에 대한 자세한 내용은 다음을 참조하세요.For more information about managing Python and R packages, see:

리소스 거버넌스Resource governance

SQL Managed Instance에서는 Resource Governor를 통해 R 리소스를 제한할 수 없으며, 외부 리소스 풀은 지원되지 않습니다.In SQL Managed Instance, it's not possible to limit R resources through Resource Governor, and external resource pools are not supported.

확장성을 사용하도록 설정한 경우 기본적으로 R 리소스는 사용 가능한 SQL Managed Instance 리소스의 최대 20%로 설정됩니다.By default, R resources are set to a maximum of 20% of the available SQL Managed Instance resources when extensibility is enabled. 이 기본 백분율을 변경하려면 https://azure.microsoft.com/support/create-ticket/에서 Azure 지원 티켓을 만듭니다.To change this default percentage, create an Azure support ticket at https://azure.microsoft.com/support/create-ticket/.

확장성은 다음의 SQL 명령을 통해 사용하도록 설정됩니다(SQL Managed Instance가 다시 시작되고 몇 초간 사용할 수 없음).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;

확장성을 사용하지 않도록 설정하고 메모리/CPU 리소스의 100%를 SQL Server로 복원하려면 다음 명령을 사용합니다.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;

SQL Managed Instance에서 사용할 수 있는 전체 리소스는 선택한 서비스 계층에 따라 다릅니다.The total resources available to SQL Managed Instance depend on which service tier you choose. 자세한 내용은 Azure SQL Database 구매 모델을 참조하세요.For more information, see Azure SQL Database purchasing models.

메모리 부족 오류Insufficient memory error

메모리 사용량은 R 스크립트에서 사용되는 양 및 실행되는 병렬 쿼리 수에 따라 달라집니다.Memory usage depends on how much is used in your R scripts and the number of parallel queries being executed. R에 사용할 수 있는 메모리가 부족하면 오류 메시지가 표시됩니다.If there is insufficient memory available for R, you'll get an error message. 일반적인 오류 메시지는 다음과 같습니다.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.

이러한 오류 중 하나를 수신하는 경우 데이터베이스를 더 높은 서비스 계층으로 확장하여 문제를 해결할 수 있습니다.If you receive one of these errors, you can resolve it by scaling your database to a higher service tier.

SQL Managed Instance 풀SQL Managed Instance pools

Machine Learning Services는 현재 Azure SQL Managed Instance 풀(미리 보기)에서 지원되지 않습니다.Machine Learning Services is currently not supported on Azure SQL Managed Instance pools (preview).

다음 단계Next steps