Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
Внимание
Поддержка сервера Машинное обучение (ранее известного как R Server) закончилась 1 июля 2022 года. Дополнительные сведения см. в разделе Что будет с Machine Learning Server?
В этой статье описывается, как использовать процесс установки, именуемый привязкой для обновления сред выполнения R или Python в Службах R SQL Server 2016 или Службах машинного обучения SQL Server 2017. Вы можете получать более новые версии Python и R путем привязки к Microsoft Machine Learning Server.
Внимание
В этой статье описывается старый метод обновления сред выполнения R и Python, называемый привязкой. Если вы установили накопительное обновление 14 или более поздней версии для пакета обновления 2 (SP2) для SQL Server 2016 или накопительное обновление 22 или более поздней версии для SQL Server 2017, вместо этого см. как изменить среду выполнения R или Python по умолчанию на более позднюю версию.
Что такое привязка?
Привязка — это процесс установки, который изменяет содержимое папок R_SERVICES и PYTHON_SERVICES на более новые исполняемые файлы, библиотеки и инструменты с Microsoft Machine Learning Server.
Загруженные компоненты, включённые в модель обслуживания, изменились. Обновления службы выполняются по графику поддержки Microsoft R Server и Machine Learning Server согласно политике современного жизненного цикла.
Привязка не изменяет основные принципы установки, за исключением версий компонентов и служебных обновлений:
- Интеграция Python и R по-прежнему является частью экземпляра ядра СУБД.
- Лицензирование остается неизменным (привязка не влечет никаких дополнительных затрат).
- Политики поддержки SQL Server сохраняются для ядра СУБД.
В оставшейся части этой статьи объясняется механизм привязки и принципы его работы для каждой версии SQL Server.
Примечание.
Привязка применяется только к экземплярам в базе данных, связанным с экземплярами SQL Server. В этом случае для автономной установки не требуется привязка.
Рекомендации по привязке для SQL Server 2016
Для клиентов служб SQL Server 2016 R привязка предоставляет такие преимущества:
- Обновленные пакеты R.
- Новые пакеты не входят в исходную установку (Microsoft ML).
- Предварительно обученные модели машинного обучения для анализа тональности и обнаружения изображений.
Все привязки могут обновляться при каждом выходе основной и второстепенной версии Microsoft Machine Learning Server.
Схема версий
Таблицы ниже являются схемами версий. В каждой схеме показаны версии пакетов для разных выпусков. Вы можете просмотреть пути обновления при привязке к Microsoft Machine Learning Server (ранее известному как R Server до добавления поддержки Python в Machine Learning Server 9.2.1).
Привязка не гарантирует использование самой последней версии R или Anaconda. При привязке к Microsoft Machine Learning Server вы получаете версию R или Python, установленную с помощью программы установки, которая может быть не последней версии, доступной в Интернете.
| Компонент | Начальный релиз | R Сервер 9.0.1 | Сервер R 9.1 | Machine Learning Server 9.2.1 | Machine Learning Server 9.3 | Machine Learning Server 9.4.7 |
|---|---|---|---|---|---|---|
| Microsoft R Open (MRO) по сравнению с R | R 3.2.2 | Рекомендация 3.3.2 | Р 3.3.3 | Р 3.4.1 | R 3.4.3 | Р 3.5.2 |
| RevoScaleR | 8.0.3 | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
| MicrosoftML (англ.) | н.д. | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
| предварительно обученные модели | н.д. | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
| sqlrutils | н.д. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| olapR | н.д. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
Службы машинного обучения SQL Server 2017
| Компонент | Начальный релиз | Machine Learning Server 9.3 | Machine Learning Server 9.4.7 |
|---|---|---|---|
| Microsoft R Open (MRO) по сравнению с R | Р 3.3.3 | R 3.4.3 | Р 3.5.2 |
| RevoScaleR | 9,2 | 9.3 | 9.4.7 |
| MicrosoftML (англ.) | 9,2 | 9.3 | 9.4.7 |
| sqlrutils | 1.0 | 1.0 | 1.0 |
| olapR | 1.0 | 1.0 | 1.0 |
| Anaconda 4.2 и Python 3.5 | 4.2/3.5.2 | 4.2/3.5.2 | |
| revoscalepy | 9,2 | 9.3 | 9.4.7 |
| Майкрософтмл | 9,2 | 9.3 | 9.4.7 |
| предварительно обученные модели | 9,2 | 9.3 | 9.4.7 |
Как работает обновление компонентов
Библиотеки R и Python и исполняемые файлы обновляются при привязке существующей установки R и Python к Machine Learning Server.
Привязка выполняется установщиком Microsoft Machine Learning Server при запуске программы установки на существующем экземпляре ядра СУБД SQL Server с интеграцией R или Python.
Программа установки обнаружит существующие компоненты и предложит выполнить повторную привязку к Machine Learning Server.
Во время привязки содержимое C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES и \PYTHON_SERVICES перезаписывается новыми исполняемыми файлами и библиотеками C:\Program Files\Microsoft\ML Server\R_SERVER и \PYTHON_SERVER.
Привязка применяется только к компонентам R и Python. В состав пакетов с открытым исходным кодом для Python и R входят:
- Анаконда
- Microsoft R Открыть
- собственные пакеты RevoScaleR
- Revoscalepy
Привязка не изменяет модель поддержки для экземпляра ядра СУБД или версию SQL Server.
Привязка обратима. Вы можете вернуться к обслуживанию SQL Server, отменив привязку экземпляра и исправив экземпляр ядра СУБД SQL Server.
Подключение к серверу машинного обучения с использованием программы установки
Выполните следующие действия, чтобы привязать SQL Server к Microsoft Machine Learning Server с помощью программы установки.
В SSMS запустите
SELECT @@version, чтобы убедиться, что сервер соответствует минимальным требованиям к сборке.Для служб R в SQL Server 2016 минимальным требованием является пакет обновления 1 с накопительным пакетом обновления 3.
Проверьте версию базы R и пакетов RevoScaleR, чтобы убедиться, что существующие версии ниже тех, которыми вы планируете их заменить.
EXECUTE sp_execute_external_script @language=N'R' ,@script = N'str(OutputDataSet); packagematrix <- installed.packages(); Name <- packagematrix[,1]; Version <- packagematrix[,3]; OutputDataSet <- data.frame(Name, Version);' , @input_data_1 = N'' WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))Закройте среду SSMS и другие средства с открытым подключением к SQL Server. Привязка перезаписывает программные файлы. Если SQL Server имеет открытые сеансы, привязка завершится с кодом ошибки привязки 6.
Загрузите Microsoft Machine Learning Server на компьютер с экземпляром, который нужно обновить. Мы рекомендуем последнюю версию.
Распакуйте папку и запустите файл ServerSetup.exe, расположенный в разделе MLSWIN93.
В разделе Настроить установку проверьте компоненты для обновления и просмотрите список совместимых экземпляров.
На странице лицензионное соглашение выберите Я принимаю эти условия, чтобы принять условия лицензирования для Machine Learning Server.
На последующих страницах предоставьте согласие на дополнительные условия лицензирования для всех выбранных компонентов с открытым кодом, например Microsoft R Open или Python Anaconda.
На странице Почти готово запишите папку установки. Папка по умолчанию: \Program Files\Microsoft\ML Server.
Если вы хотите изменить папку установки, нажмите кнопку Дополнительно, чтобы вернуться на первую страницу мастера. Однако необходимо заново ввести все параметры.
Если обновление завершается сбоем, проверьте коды ошибок SqlBindR для получения дополнительных сведений.
Автономная привязка (без доступа к Интернету)
Для систем без подключения к Интернету можно загрузить установщик и CAB-файлы на компьютер, подключенный к Интернету, а затем перенести файлы на изолированный сервер.
Установщик (ServerSetup.exe) включает пакеты Microsoft (RevoScaleR, MicrosoftML, olapR, sqlRUtils). CAB-файлы предоставляют другие основные компоненты. Например, CAB-файл SRO предоставляет R Open, дистрибутив R с открытым исходным кодом от корпорации Майкрософт.
Приведенные ниже инструкции описывают, как разместить файлы для автономной установки.
Скачайте установщик MLSWIN93. Он загружается как один сжатый ZIP-файл. Мы рекомендуем последнюю версию, но можно также установить более ранние версии.
Загрузите CAB-файлы. Ниже приведены ссылки на выпуск 9.3. Если требуются более ранние версии, дополнительные ссылки можно найти в R Server 9.1. Вспомним, что Python/Anaconda можно добавить только в экземпляр Служб машинного обучения SQL Server. Предварительно обученные модели существуют как для R, так и для Python. В CAB-файле предоставляются модели на языках, которые вы используете.
Функция Загрузка Р SRO_3.4.3.0_1033.cab Питон SPO_9.3.0.0_1033.cab Предварительно обученные модели MLM_9.3.0.0_1033.cab Переместите ZIP- и CAB-файлы на целевой сервер.
На сервере введите
%temp%в поле выполнения команд, чтобы получить физическое расположение временного каталога. Физический путь зависит от компьютера, но обычно этоC:\Users\<your-user-name>\AppData\Local\Temp.Поместите CAB-файлы в папку %temp%.
Распакуйте установщик.
Запустите ServerSetup.exe, следуя инструкциям на экране, чтобы завершить установку.
Операции командной строки
Совет
Не удается найти SqlBindR? Возможно, вы не запустили программу установки. SqlBindR доступен только после запуска программы установки Machine Learning Server.
Откройте командную строку от имени администратора и перейдите в папку, содержащую sqlbindr.exe. Путь по умолчанию: C:\Program Files\Microsoft\MLServer\Setup
Выполните следующую команду, чтобы просмотреть список доступных экземпляров:
SqlBindR.exe /list.Запишите полное имя экземпляра, как указано в списке. Например, имя экземпляра может быть MSSQL14.MSSQLSERVER для экземпляра по умолчанию или что-то вроде SERVERNAME.МОЙ_ИМЕНОВАННЫЙ_ЭКЗЕМПЛЯР.
Выполните команду SqlBindR.exe с аргументом /bind. Укажите имя обновляемого экземпляра, используя имя экземпляра, возвращенное на предыдущем шаге.
Например, чтобы обновить экземпляр по умолчанию, введите следующую команду:
SqlBindR.exe /bind MSSQL14.MSSQLSERVERПосле завершения обновления перезапустите службу панели запуска, связанную с любым измененным экземпляром.
Откат или отмена привязки экземпляра
Вы можете восстановить привязанный экземпляр до первоначальной установки компонентов R и Python, выполненной программой установки SQL Server. Возврат к обслуживанию на SQL Server выполняется в три этапа.
- Шаг 1: Отвязать от сервера машинного обучения Microsoft
- Шаг 2. Восстановление экземпляра до исходного состояния
- Шаг 3. Переустановите все пакеты, добавленные в установку
Шаг 1. Отмена привязки
Существует два варианта отката привязки: перезапустите установку или используйте утилиту командной строки SqlBindR.
Отмена привязки с помощью программы установки
- Найдите установщик для Machine Learning Server. Если установщик удален, загрузите его снова или скопируйте с другого компьютера.
- Запустите установщик на компьютере с экземпляром, для которого нужно отменить привязку.
- Установщик определяет локальные экземпляры, которые являются кандидатами для отмены привязки.
- Снимите флажок рядом с экземпляром, который вы хотите вернуть в исходную конфигурацию.
- Примите все лицензионные соглашения.
- Выберите Готово. Процесс займет некоторое время.
Отмена привязки с помощью командной строки
Откройте командную строку и перейдите в папку, содержащую sqlbindr.exe, как описано в предыдущем разделе.
Выполните команду SqlBindR.exe с аргументом /unbind и укажите экземпляр.
Например, следующая команда восстанавливает экземпляр по умолчанию.
SqlBindR.exe /unbind MSSQL14.MSSQLSERVER
Шаг 2. Восстановление экземпляра SQL Server
Запустите программу установки SQL Server, чтобы восстановить экземпляр ядра СУБД с компонентами R и Python. Существовавшие ранее обновления сохраняются. Следующий шаг следует применять, если пропущено обновление для обслуживания пакетов Python и R.
Альтернативное решение: полностью удалите и переустановите экземпляр ядра СУБД, а затем примените все обновления службы.
Шаг 3. Добавление любых сторонних пакетов
Вы могли добавить в библиотеку пакетов другие пакеты с открытым кодом или сторонние пакеты. Отмена привязки меняет расположение библиотеки пакетов по умолчанию, поэтому необходимо переустановить пакеты в библиотеку, которую теперь используют R и Python. Дополнительные сведения см. в статьях Сведения о пакете R и Установка пакета R и Сведения о пакете Python и Установка пакета Python.
Синтаксис команды SqlBindR.exe
Использование
sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]
Параметры
| Имя | Описание |
|---|---|
| список | Выводит список идентификаторов всех экземпляров SQL Server на текущем компьютере. |
| связывать | Обновляет указанный экземпляр SQL Server до последней версии R Server и обеспечивает автоматическое получение экземпляром будущих обновлений для R Server. |
| развязывать | Удаляет последнюю версию R Server из указанного экземпляра SQL Server и предотвращает влияние будущих обновлений R Server на этот экземпляр. |
Ошибки привязки
Установщик Machine Learning Server и SqlBindR возвращают следующие коды ошибок и сообщения об ошибках:
| Код ошибки | Сообщение | Сведения |
|---|---|---|
| Ошибка привязки 0 | Ok (успешно) | Привязка прошла без ошибок. |
| Ошибка привязки 1 | Недопустимые аргументы | Синтаксическая ошибка. |
| Ошибка привязки 2 | Недопустимое действие | Синтаксическая ошибка. |
| Ошибка привязки 3 | Неверный экземпляр | Экземпляр существует, но не является допустимым для привязки. |
| Ошибка привязки 4 | Не подлежит привязке | |
| Ошибка привязки 5 | Уже привязан | Вы выполнили команду bind , но указанный экземпляр уже привязан. |
| Ошибка привязки 6 | Сбой связывания | При снятии привязки экземпляра произошла ошибка. Эта ошибка может возникать, если запустить установщик Machine Learning Server без выбора компонентов. Для привязки необходимо выбрать экземпляр Microsoft SQL Server, а также R и Python, если это экземпляр SQL Server 2017. Эта ошибка также возникает, если SqlBindR не удалось выполнить запись в папку Program Files. Открытые сеансы или дескрипторы SQL Server приведут к этой ошибке. Если вы получите эту ошибку, перезапустите компьютер и повторите действия привязки перед началом новых сеансов. |
| Ошибка привязки 7 | Нет привязки | В экземпляре ядра СУБД имеются службы R Services или Службы машинного обучения SQL Server. Экземпляр не привязан к Microsoft Machine Learning Server. |
| Ошибка привязки 8 | Не удалось отменить привязку | При снятии привязки экземпляра произошла ошибка. |
| Ошибка привязки 9 | Экземпляры не найдены. | На этом компьютере не найдены экземпляры ядра СУБД. |
Известные проблемы
В этом разделе перечислены известные проблемы, связанные с использованием служебной программы SqlBindR.exe, а также обновлениями Machine Learning Server, которые могут повлиять на экземпляры SQL Server.
Восстановление ранее установленных пакетов
При обновлении до Microsoft R Server 9.0.1, SqlBindR.exe не восстанавливает начальные пакеты или компоненты R. Следует восстановить SQL Server на экземпляре сервера и применить все пакеты обновлений. Перезапустите экземпляр.
Более поздняя версия SqlBindR автоматически восстанавливает первоначальные компоненты R, устраняя необходимость в их переустановке или повторном исправлении сервера. Однако необходимо установить все обновления пакетов R, которые могли быть добавлены после первоначальной установки.
Используйте команды R для синхронизации установленных пакетов с файловой системой с помощью записей в базе данных. Дополнительные сведения см. в разделе Управление пакетами R для SQL Server.
Проблемы с перезаписью файла sqlbinr.ini в SQL Server
Сценарий: Эта проблема возникает при привязке Сервер машинного обучения версии 9.4.7 к SQL Server 2017. При обновлении и привязке Python или при установке нового накопительного пакета обновления система не распознаёт привязку Python и перезаписывает файлы. С R подобных проблем не выявлено.
В качестве обходного решения создайте файл sqlbindr.ini в каталоге PYTHON_SERVICES, который не пуст. Содержимое не влияет на работу файла.
Создайте файл sqlbindr.ini, содержащий 9.4.7.82, и сохраните его в следующее расположение:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
Проблемы с несколькими обновлениями от SQL Server
Сценарий. Ранее обновленный экземпляр служб R SQL Server 2016 до версии 9.0.1. Выполнен новый установщик для Microsoft R Server 9.1.0. Установщик показывает список всех допустимых экземпляров. По умолчанию установщик выбирает ранее привязанные экземпляры. Если продолжить, для ранее привязанных экземпляров будет отменена привязка. В результате предыдущая установка 9.0.1 удаляется, в том числе все связанные пакеты, но новая версия Microsoft R Server (9.1.0) не устанавливается.
В качестве обходного решения можно изменить имеющуюся установку R Server следующим образом:
- На панели управления и откройте элемент Установка и удаление программ.
- Найдите Microsoft R Server и нажмите Изменить.
- При запуске установщика выберите экземпляры, которые необходимо привязать к 9.1.0.
Microsoft Machine Learning Server 9.2.1 и 9.3 не имеют этой проблемы.
Привязка или отмена привязки оставляет несколько временных папок
Удалите временные папки после завершения установки.
Примечание.
Не забудьте дождаться завершения установки. Удаление библиотек R, связанных с одной версией, и добавление новых библиотек R может занять много времени. По завершении операции временные папки удаляются.
См. также
- Изменение версии среды выполнения языка R или Python по умолчанию
- Установка Machine Learning Server для Windows (с подключением к Интернету)
- Установка Machine Learning Server для Windows (в автономном режиме)
- Известные проблемы в Службах машинного обучения
- Объявления о новых функциях из предыдущей версии R Server
- Устаревшие, больше неподдерживаемые или измененные функции