Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
В этой статье описывается, как изменить версию R или Python по умолчанию, используемую в службах R SQL Server 2016 или службах машинного обучения SQL Server с помощью Python и R.
Ниже перечислены версии языковой среды выполнения R и Python, которые включены в различные версии SQL Server.
| Версия SQL Server | Service | Накопительное обновление | Версии среды выполнения R | Версия среды выполнения Python |
|---|---|---|---|---|
| SQL Server 2016 (13.x) | Службы R | RTM — с пакетом обновления 2 (SP2) CU13 | 3.2.2 | Недоступно |
| SQL Server 2016 (13.x) | Службы R | Пакет обновления 2 (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 |
Необходимые компоненты
Необходимо установить накопительное обновление (CU), чтобы изменить стандартную версию языковой среды выполнения R или Python:
- SQL Server 2016: пакет обновления 2 (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.<мажорный>.<минорный> (папка из исходной установки может не иметь номера версии, добавленного к имени папки).
При установке пакета CU, содержащего R 3.5, создается папка 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 служебной программы командной строки. Программа находится под папкой R в каждом экземпляре SQL Server:
<Путь экземпляра SQL Server\R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe
Примечание.
Функциональность, описанная в этой статье, доступна только с копией RegisterRext.exe, включенной в кумулятивные обновления SQL. Не используйте копию, которая пришла с исходной установкой SQL Server.
Чтобы изменить версию среды выполнения R, передайте следующие аргументы командной строки в RegisterRext.exe.
/configure— обязательный аргумент, который указывает, что вы настраиваете стандартную версию R./instance:<имя_экземпляра> — необязательно, экземпляр, который нужно настроить. Если он не указан, настраивает экземпляр, заданный по умолчанию./rhome:<путь_к_папке_R_SERVICES[n.n]> — необязательно, путь к папке версии среды выполнения, которую вы хотите задать в качестве стандартной версии R.Если вы не укажете /rhome, то путь настроен как путь, в котором
RegisterRext.exeнаходится.
Примеры
Ниже приведены примеры изменения версии среды выполнения R в SQL Server 2016 и 2017.
Изменение версии среды выполнения R в SQL Server 2016
Например, чтобы настроить R 3.5 в качестве стандартной версии R для экземпляра MSSQLSERVER01 в SQL Server 2016, сделайте следующее:
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
Изменение версии среды выполнения R в SQL Server 2017
Например, чтобы настроить R 3.5 в качестве стандартной версии R для экземпляра MSSQLSERVER01 в SQL Server 2017, сделайте следующее:
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
В этих примерах не нужно включать /rhome аргумент, так как вы указываете ту же папку, где RegisterRext.exe находится.
Изменение версии среды выполнения Python
Если вы установили SQL Server 2017 (14.x) CU22 или более поздней версии, в экземпляре SQL Server может быть несколько версий Python. Каждая версия содержится в подпапке папки экземпляра с именем PYTHON_SERVICES.<мажорный>.<минорный> (папка из первоначальной установки может не иметь номер версии, добавленный к имени папки).
Например, при установке пакета CU, содержащего Python 3.7, создается папка PYTHON_SERVICES:
C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\PYTHON_SERVICES.3.7
Каждый экземпляр SQL Server использует одну из этих версий в качестве стандартной версии Python. Вы можете изменить версию по умолчанию с помощью RegisterRext.exe служебной программы командной строки. Программа находится под папками Python в каждом экземпляре SQL Server:
<Путь к экземпляру SQL Server>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe
Примечание.
Функциональность, описанная в этой статье, доступна только в виде копии RegisterRext.exe, включенной в кумулятивное обновление SQL. Не используйте копию, которая пришла с исходной установкой SQL Server.
Чтобы изменить версию среды выполнения Python, передайте командной строки следующие аргументы RegisterRext.exe
/configure— обязательный аргумент, который указывает, что вы настраиваете стандартную версию Python./python— указывает, что вы настраиваете стандартную версию Python. Необязательно, если указано/pythonhome./instance:<имя_экземпляра> — необязательно, экземпляр, который нужно настроить. Если он не указан, настраивает экземпляр, заданный по умолчанию./pythonhome:<путь_к_папке_PYTHON_SERVICES[n.n]> — необязательно, путь к папке версии среды выполнения, которую вы хотите задать в качестве стандартной версии Python.Если вы не укажете /pythonhome, настроенный путь — это путь, в котором
RegisterRext.exeнаходится.
Пример
Например, чтобы настроить Python 3.7 в качестве версии Python по умолчанию для экземпляра MSSQLSERVER01 в SQL Server 2017, сделайте следующее:
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, используйте RegisterRext.exe вместе с аргументом /cleanup командной строки, применяя те же /rhome, /pythonhome, и /instance аргументы, описанные ранее.
Например, чтобы удалить папку R 3.2 из экземпляра MSSQLSERVER01, сделайте следующее:
.\RegisterRext.exe /cleanup /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES" /instance:MSSQLSERVER01
Например, чтобы удалить папку Python 3.7 из экземпляра MSSQLSERVER01, сделайте следующее:
.\RegisterRExt.exe /cleanup /python /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01
RegisterRext.exe Запрашивает подтверждение очистки указанной среды выполнения R:
Вы действительно хотите окончательно удалить указанную среду выполнения вместе со всеми установленными в ней пакетами? [Да(Y)/Нет(N)/По умолчанию(Да)]:
Для подтверждения введите Y или нажмите клавишу ВВОД. Кроме того, можно пропустить этот запрос, передав /y или /Yes в параметр /cleanup.
Примечание.
Вы можете удалить версию только в том случае, если она не настроена в качестве используемой по умолчанию, и она в настоящее время не используется для запуска RegisterRext.exe.