적용 대상: SQL Server 2016(13.x)
SQL Server 2017(14.x)
이 문서에서는 Python 및 R을 사용하여 SQL Server 2016 R Services 또는 SQL Server Machine Learning Services에서 사용되는 R 또는 Python의 기본 버전을 변경하는 방법을 설명합니다.
다음은 다양한 SQL Server 버전에 포함된 R 및 Python 런타임의 버전입니다.
| SQL Server 버전 | 서비스 | 누적 업데이트 | R 런타임 버전 | Python 런타임 버전 |
|---|---|---|---|---|
| SQL Server 2016(13.x) | R 서비스 | RTM - SP2 CU13 | 3.2.2 | 사용할 수 없음 |
| SQL Server 2016(13.x) | R 서비스 | SP2 CU14 이상 | 3.2.2 및 3.5.2 | 사용할 수 없음 |
| SQL Server 2017(14.x) | 기계 학습 서비스 | RTM - CU21 | 3.3.3 | 3.5.2 |
| SQL Server 2017(14.x) | 기계 학습 서비스 | CU22 이상 | 3.3.3 및 3.5.2 | 3.5.2 및 3.7.2 |
사전 요구 사항
기본 R 또는 Python 언어 런타임 버전을 변경하려면 CU(누적 업데이트)를 설치해야 합니다.
- SQL Server 2016: SP(서비스 팩) 2 CU(누적 업데이트) 14 이상
- SQL Server 2017: CU(누적 업데이트) 22 이상
최신 누적 업데이트를 다운로드하려면 Microsoft SQL Server에 대한 최신 업데이트를 참조하세요.
참고
SQL Server의 새 설치로 누적 업데이트를 슬립스트림하는 경우 최신 버전의 R 및 Python 런타임만 설치됩니다.
R 런타임 버전 변경
위의 SQL Server 2016 또는 2017 누적 업데이트 중 하나를 설치한 경우 SQL Server 인스턴스에 여러 버전의 R이 있을 수 있습니다. 각 버전은 이름 R_SERVICES.<주> 인스턴스 폴더의 하위 폴더에 포함됩니다.<minor> (원래 설치의 폴더에 폴더 이름에 버전 번호가 추가되지 않을 수 있습니다).
R 3.5를 포함하는 CU를 설치하는 경우 새 R_SERVICES 폴더는 다음과 같습니다.
- SQL Server 2016:
C:\Program Files\Microsoft SQL Server\MSSQL13.<INSTANCE_NAME>\R_SERVICES.3.5 - SQL Server 2017:
C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\R_SERVICES.3.5
각 SQL Server 인스턴스는 이러한 버전 중 하나를 R의 기본 버전으로 사용합니다. 명령줄 유틸리티를 사용하여 RegisterRext.exe 기본 버전을 변경할 수 있습니다. 유틸리티는 각 SQL Server 인스턴스의 R 폴더 아래에 있습니다.
<SQL Server 인스턴스 경로>\R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe
참고
이 문서에 설명된 기능은 SQL CU에 포함된 복사본 RegisterRext.exe 에서만 사용할 수 있습니다. 원래 SQL Server 설치와 함께 제공된 복사본을 사용하지 마세요.
R 런타임 버전을 변경하려면 다음 명령줄 인수를 RegisterRext.exe에 전달합니다.
/configure- 필수. 기본 R 버전을 구성하는 것임을 지정합니다./instance:<instance name> - 선택 사항. 구성하려는 인스턴스입니다. 지정하지 않으면 기본 인스턴스가 구성됩니다./rhome:<path to the R_SERVICES[n.n] folder> - 선택 사항. 기본 R 버전으로 설정하려는 런타임 버전 폴더의 경로입니다./rhome을 지정하지 않으면
RegisterRext.exe가 위치한 경로가 구성된 경로입니다.
예
다음은 SQL Server 2016 및 2017에서 R 런타임 버전을 변경하는 방법에 대한 예제입니다.
SQL Server 2016에서 R 런타임 버전 변경
예를 들어 SQL Server 2016에서 R 3.5를 인스턴스 MSSQLSERVER01에 대한 기본 버전 R로 구성하려면 다음을 수행합니다.
cd "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"
.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01
SQL Server 2017에서 R 런타임 버전 변경
예를 들어 SQL Server 2017에서 R 3.5를 인스턴스 MSSQLSERVER01에 대한 기본 버전 R로 구성하려면 다음을 수행합니다.
cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"
.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01
이 예제에서는 RegisterRext.exe이(가) 위치한 동일한 폴더를 지정하므로 /rhome 인수를 포함할 필요가 없습니다.
Python 런타임 버전 변경
SQL Server 2017(14.x) CU22 이상을 설치한 경우 SQL Server 인스턴스에 여러 버전의 Python이 있을 수 있습니다. 각 버전은 이름 PYTHON_SERVICES.<주> 인스턴스 폴더의 하위 폴더에 포함됩니다.<minor> (원래 설치의 폴더에 폴더 이름에 버전 번호가 추가되지 않을 수 있습니다).
예를 들어 Python 3.7을 포함하는 CU를 설치하는 경우 새 PYTHON_SERVICES 폴더가 만들어집니다.
C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\PYTHON_SERVICES.3.7
각 SQL Server 인스턴스는 이러한 버전 중 하나를 기본 버전의 Python으로 사용합니다. 명령줄 유틸리티를 사용하여 RegisterRext.exe 기본 버전을 변경할 수 있습니다. 이 유틸리티는 각 SQL Server 인스턴스의 Python 폴더 아래에 있습니다.
<SQL Server 인스턴스 경로>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe
참고
이 문서에 설명된 기능은 SQL CU에 포함된 RegisterRext.exe 사본에서만 사용할 수 있습니다. 원래 SQL Server 설치와 함께 제공된 복사본을 사용하지 마세요.
Python 런타임 버전을 변경하려면 다음 명령줄 인수를 RegisterRext.exe에 전달하십시오.
/configure- 필수. 기본 Python 버전을 구성하는 것임을 지정합니다./python- 기본 Python 버전을 구성하는 것임을 지정합니다./pythonhome을 지정하는 경우 선택 사항입니다./instance:<instance name> - 선택 사항. 구성하려는 인스턴스입니다. 지정하지 않으면 기본 인스턴스가 구성됩니다./pythonhome:<path to the PYTHON_SERVICES[n.n] folder> - 선택 사항. 기본 Python 버전으로 설정하려는 런타임 버전 폴더의 경로입니다.만약 /pythonhome을 지정하지 않으면, 구성된 경로는
RegisterRext.exe가 위치한 경로입니다.
예제
예를 들어 SQL Server 2017에서 Python 3.7을 인스턴스 MSSQLSERVER01에 대한 기본 버전 Python으로 구성하려면 다음을 수행합니다.
cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7\Lib\site-packages\revoscalepy\rxLibs"
.\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01
이 예제에서는 /pythonhome를 포함할 필요가 없습니다. 동일한 폴더 RegisterRext.exe를 지정하고 있기 때문입니다.
런타임 버전 제거
R 또는 Python 버전을 제거하려면 앞서 설명된 것과 동일한 /rhome, /pythonhome, /instance 인수와 함께 RegisterRext.exe 명령어를 /cleanup 명령줄 인수로 사용하세요.
예를 들어 MSSQLSERVER01에서 R 3.2 폴더를 제거하려면 다음을 수행합니다.
.\RegisterRext.exe /cleanup /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES" /instance:MSSQLSERVER01
예를 들어 MSSQLSERVER01에서 Python 3.7 폴더를 제거하려면 다음을 수행합니다.
.\RegisterRExt.exe /cleanup /python /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01
RegisterRext.exe 지정된 R 런타임의 정리를 확인하도록 요청합니다.
지정된 런타임을 설치된 모든 패키지와 함께 영구적으로 삭제하시겠습니까? [예(Y)/아니요(N)/기본값(Yes)]:
확인하려면 Y로 응답하거나 Enter 키를 누릅니다. 또는 /y 옵션과 함께 /Yes 또는 /cleanup를 전달하여 이 프롬프트를 건너뛸 수 있습니다.
참고
버전이 기본값으로 구성되지 않았고 현재 실행하는 데 사용되지 않는 경우에만 버전을 제거할 수 있습니다 RegisterRext.exe.