Установка Служб R в SQL Server 2016

Область применения: только SQL Server 2016 (13.x)

Сведения о том, как установить службы SQL Server 2016 R Services в Windows. Службы R Services можно использовать для выполнения скриптов R в базе данных.

Примечание.

В SQL Server 2017 и более поздних версий R включается в Службы машинного обучения вместе с Python. Если вам требуется R и у вас есть SQL Server 2017 или более поздней версии, сведения о том, как добавить признак, см. в статье Установка Служб машинного обучения SQL Server.

Контрольный список перед установкой

  • Необходим экземпляр ядра СУБД. Вы не можете установить только R, хотя его можно добавить в существующий экземпляр добавочным образом.

  • Для обеспечения непрерывности бизнес-процессов группы доступности Always On поддерживаются для служб R Services. Необходимо установить службы R Services и настроить пакеты на каждом узле.

  • Не устанавливайте службы R Services на экземпляр отказоустойчивого кластера (FCI) SQL Server Always On. Механизм безопасности, используемый для изолирования процессов R, несовместим со средой с экземпляром отказоустойчивого кластера (FCI) SQL Server Always On.

  • Не устанавливайте R Services на контроллер домена. Этап установки служб R Services завершится с ошибкой.

  • Не устанавливайте Общие компоненты>R Server (изолированный) на том же компьютере, где работает экземпляр для выполнения в базе данных.

  • Параллельная установка с другими версиями R поддерживается, но не рекомендуется. Она поддерживается, так как экземпляр SQL Server использует собственные копии дистрибутива R с открытым кодом. Однако выполнение кода, использующего R, на компьютере SQL Server за пределами SQL Server может привести к различным проблемам:

    • Вы используете другую библиотеку и другой исполняемый файл и получаете результаты, отличающиеся от результатов при работе в SQL Server.
    • Скриптами R, выполняемыми во внешних библиотеках, невозможно управлять с помощью SQL Server, так как это приведет к состязанию за ресурсы.

Внимание

После установки обязательно выполните действия после конфигурации, описанные в этой статье. В их число входят включение SQL Server для использования внешних скриптов и добавление учетных записей, необходимых для того, чтобы SQL Server выполнял задания R от вашего имени. Изменения в конфигурации обычно требуют перезапуска экземпляра или службы панели элементов.

Получение установочного носителя

Расположение скачивания для SQL Server зависит от выпуска:

Требование для установки исправления

Корпорация Майкрософт выявила проблему с определенной версией двоичных файлов среды выполнения Microsoft VC++ 2013, которые SQL Server устанавливает в качестве необходимого компонента. Если это обновление двоичных файлов среды выполнения VC не установлено, в SQL Server могут возникать проблемы с надежностью в определенных сценариях. Перед установкой SQL Server выполните инструкции, приведенные в заметках о выпуске SQL Server, чтобы узнать, требуется ли на вашем компьютере исправление для двоичных файлов среды выполнения VC.

Запуск программы установки

Для локальных установок необходимо запускать программу установки с правами администратора. Если SQL Server устанавливается с удаленного общего ресурса, необходимо использовать учетную запись домена, у которой есть разрешения чтения и записи на этом удаленном ресурсе.

  1. Запустите мастер установки SQL Server 2016.

  2. На вкладке Установка выберите параметр Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке.

    Установка служб R Services (в базе данных)

  3. Выберите следующие компоненты на странице Выбор компонентов:

    • Выберите Службы ядра СУБД. Ядро СУБД требуется в каждом экземпляре, использующем машинное обучение.
    • Выберите Службы R (в базе данных). Устанавливает поддержку использования языка R в базе данных.

    Выбор компонентов служб R Services

    Внимание

    Не устанавливайте R Server и R Services одновременно.

  4. На странице Согласие на установку Microsoft R Open нажмите кнопку Принять.

    Принятие лицензионного соглашения требуется для скачивания Microsoft R Open — дистрибутива, содержащего базовые пакеты и средства R с открытым исходным кодом, а также поставщики услуг подключения и расширенные пакеты R от команды разработки Microsoft R.

  5. После принятия лицензионного соглашения в процессе подготовки программы установки возникает небольшая пауза. Нажмите кнопку Далее, когда она станет доступной.

  6. На странице Все готово для установки проверьте, включены ли указанные ниже компоненты, и нажмите Установить.

    • Службы ядра СУБД
    • Службы R (в базе данных)
  7. Если после завершения установки будет предложено перезагрузить компьютер, выполните перезагрузку. После завершения установки важно прочитать сообщение мастера установки. Дополнительные сведения см. в разделе View and Read SQL Server Setup Log Files.

Настройка переменных среды

Только для интеграции с R присвойте переменной среды MKL_CBWR значение ensure consistent output из вычислений Intel Math Kernel Library (MKL).

  1. На панели управления щелкните Система и безопасность>Система>Расширенные параметры системы>Переменные среды.

  2. Создайте новую пользовательскую или системную переменную.

    • Задайте имя переменной как MKL_CBWR.
    • Задайте значение переменной как AUTO.

Для этого шага требуется перезагрузка сервера. Вы можете отложить перезапуск до тех пор, пока не будет выполнена вся настройка.

Включение выполнения сценария

  1. Откройте SQL Server Management Studio (SSMS) или Azure Data Studio.

  2. Подключитесь к экземпляру, в который вы установили R Services, щелкните Создать запрос, чтобы открыть окно запроса, и выполните следующую команду:

    sp_configure
    

    На данном этапе значение для свойства external scripts enabled должно быть 0. Это связано с тем, что функция по умолчанию отключена. Этот компонент должен быть явно включен администратором, чтобы вы могли выполнять скрипты R.

  3. Чтобы включить внешний компонент написания сценариев, выполните следующую инструкцию:

    EXEC sp_configure  'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    

Перезапустить службу

После завершения установки перезапустите ядро СУБД, прежде чем перейти к следующему шагу — включению выполнения скриптов.

При перезапуске службы автоматически перезапускается соответствующая служба Панель запуска SQL Server.

Службу можно перезапустить, щелкнув ее правой кнопкой мыши и выбрав команду Перезапустить для экземпляра SSMS или используя диспетчер конфигурации SQL Server.

Проверка установки

Выполните указанные ниже действия, чтобы убедиться в том, что все компоненты, используемые для запуска внешнего скрипта, запущены.

  1. Откройте новое окно запроса в SQL Server Management Studio и выполните приведенную ниже команду.

    EXEC sp_configure 'external scripts enabled'
    

    Задайте для run_value значение 1.

  2. Откройте диспетчер конфигурации SQL Server и убедитесь, что служба Панель запуска SQL Server запущена. У вас должно быть по одной службе для каждого экземпляра ядра СУБД с установленным R. Дополнительные сведения об этой службе см. в разделе Платформа расширяемости.

  3. Если запущена панель запуска, вы сможете выполнять простые скрипты на R, чтобы убедиться, что внешние среды выполнения скриптов могут взаимодействовать с SQL Server.

    Откройте новое окно запроса в SQL Server Management Studio или Azure Data Studio, а затем запустите сценарий, например следующий:

    EXEC sp_execute_external_script  @language =N'R',
    @script=N'
    OutputDataSet <- InputDataSet;
    ',
    @input_data_1 =N'SELECT 1 AS hello'
    WITH RESULT SETS (([hello] int not null));
    GO
    

    Выполнение сценария может занять некоторое время при первой загрузке внешней среды выполнения. Результаты должны выглядеть примерно так:

    hello
    1

Применение обновлений

Мы рекомендуем применить последний пакет обновления и накопительный пакет обновления к компонентам ядра СУБД и машинного обучения.

На устройствах, подключенных к Интернету, накопительные обновления обычно применяются с помощью Центра обновления Windows, но вы также можете использовать приведенные ниже шаги для управления контролируемыми обновлениями. При применении обновления для ядра СУБД программа установки извлекает накопительные обновления всех библиотек R, установленных в том же экземпляре.

На отключенных серверах требуются дополнительные действия. Дополнительные сведения см. в разделе Установка на компьютерах без доступа к Интернету > Применение накопительных обновлений.

  1. Начните с уже установленного базового экземпляра: начальный выпуск SQL Server 2016, SQL Server 2016 с пакетом обновления 1 (SP1) или SQL Server 2016 с пакетом обновления 2 (SP 2).

  2. Перейдите в накопительный список обновлений: последние обновления для Microsoft SQL Server

  3. Выберите последний пакет обновления (если он еще не установлен в качестве базового экземпляра) и накопительный пакет обновления. Исполняемый файл скачивается и извлекается автоматически.

  4. Запустите программу установки. Примите условия лицензионного соглашения и на странице "Выбор компонентов" проверьте компоненты, для которых применяются накопительные пакеты обновления. Вы должны увидеть все компоненты, установленные для текущего экземпляра, включая службы R Services. Программа установки загрузит CAB-файлы, необходимые для обновления всех компонентов.

  5. Продолжайте работу с мастером, принимая условия лицензионного соглашения для дистрибутива R.

Примечание.

Накопительное обновление (CU) 14 и более поздних версий для SQL Server 2016 с пакетом обновления 2 (SP2) включает в себя более новые среды выполнения R. Дополнительные сведения см. в статье Изменение версии языковой среды выполнения по умолчанию.

Дополнительная настройка

Если проверка внешнего скрипта будет пройдена успешно, вы сможете выполнять команды R из SQL Server Management Studio, Azure Data Studio или любого другого клиента, который может отправлять инструкции T-SQL на сервер.

Если при выполнении команды возникнет ошибка, обратитесь к дополнительным шагам настройки, указанным в этом разделе. Возможно, потребуется внести какие-то дополнительные настройки в службу или базу данных.

На уровне экземпляра дополнительная конфигурация может включать следующее:

В базе данных могут потребоваться следующие обновления конфигурации:

Примечание.

Не все перечисленные изменения являются обязательными; все они могут оказаться ненужными. Требования зависят от схемы безопасности, в которой установлен ваш SQL Server, и от того, как ваши пользователи должны подключаться к базе данных и запускать внешние скрипты. Дополнительные инструкции по установке см. здесь: установка служб SQL Server Машинное обучение

Предлагаемые оптимизации

Также может потребоваться оптимизировать сервер для поддержки машинного обучения с использованием R или установки предварительно обученных моделей.

Добавление рабочих учетных записей

Если вы предполагаете, что будете интенсивно использовать среду R или множество пользователей будут одновременно выполнять скрипты, вы можете увеличить количество рабочих учетных записей, назначенных службе панели запуска. Дополнительные сведения см. в разделе Масштабирование параллельного выполнения внешних сценариев в SQL Server службы машинного обучения.

Оптимизация сервера для выполнения внешних скриптов

Параметры по умолчанию для установки SQL Server предназначены для оптимизации баланса сервера для различных служб, поддерживаемых ядром СУБД, которые могут включать процессы извлечения, преобразования и загрузки (ETL), отчетов, аудита и приложений, использующих данные SQL Server. Поэтому при использовании параметров по умолчанию ресурсы для машинного обучения могут быть ограничены или регулироваться, особенно в случае с операциями с интенсивным использованием памяти.

Чтобы задачам машинного обучения назначались соответствующие приоритеты и выделялись необходимые ресурсы, рекомендуем использовать Resource Governor SQL Server для настройки внешнего пула ресурсов. Кроме того, может потребоваться изменить объем памяти, выделенной для ядра СУБД SQL Server, или увеличить количество учетных записей, выполняемых в службе панели запуска SQL Server.

Если у вас установлен выпуск Standard Edition, но отсутствует Resource Governor, вы можете использовать для управления ресурсами сервера, используемыми R, динамические административные представления и расширенные события, а также мониторинг событий Windows.

Установка дополнительных пакетов R

Решения на R, создаваемые для SQL Server, могут вызывать базовые функции R, функции из собственных пакетов, установленных с SQL Server, а также сторонних пакетов R, совместимых с версией R с открытым исходным кодом, установленной SQL Server.

Пакеты, которыми вы хотите пользоваться из SQL Server, должны быть установлены в библиотеке по умолчанию, используемой экземпляром. При наличии отдельной установки R на компьютере, а также если вы установили пакеты в библиотеки пользователей, вы не сможете использовать их из T-SQL.

Процесс установки пакетов R и управления ими в SQL Server 2016 и SQL Server 2017 отличается. В SQL Server 2016 администратор базы данных должен установить пакеты R, необходимые пользователям. В SQL Server 2017 можно настроить группы пользователей для совместного использования пакетов на уровне базы данных или настроить роли базы данных, чтобы разрешить пользователям устанавливать собственные пакеты. Дополнительные сведения см. в статье Установка пакетов с помощью средств R.

Следующие шаги

Разработчики на языке R могут ознакомиться с простыми примерами, а также узнать, как код R работает с SQL Server. Дополнительные сведения см. в следующих статьях.