Службы машинного обучения SQL Server - не удалось запустить среду выполнения. ErrorCode 0x80070032: 50(запрос не поддерживается.)

Попытка настроить MLS на SQL Server 2017, но при запуске очень простого внешнего скрипта, например:

      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

Я получаю такую ​​ошибку:

Msg 39021, уровень 16, состояние 1, строка 1 Не удалось запустить среду выполнения для сценария R. Пожалуйста, проверьте конфигурацию среды выполнения 'R'. Msg 39019, уровень 16, состояние 2, строка 1 Произошла ошибка внешнего сценария: не удалось запустить среду выполнения. ErrorCode 0x80070032: 50(запрос не поддерживается.).

И если я смотрю журнал EXTLAUNCHERRORLOG, я вижу:

2020-12-29 17:53:49.554 SetCpuRateCap завершился неудачно с кодом ошибки 0x80070032.

Я нигде не могу найти ссылки на эту ошибку и очень озадачен. Пробовал всевозможные вещи (проверка разрешений, отключение регулятора ресурсов, обновление до последней версии CU, переустановка MLS и т. Д.). У нас есть аналогичный сервер, работающий на той же платформе Azure (тот же размер, W2012R2, та же конфигурация памяти / процессора), настроенный примерно в то же время, и, похоже, у него нет этой проблемы. Это происходит как с сервисами R, так и с Python.

Любая помощь будет оценена.

1 ответ

У меня есть решение, которое мы использовали сегодня, переходя с R 3.3.3 и python 3.5.2 на R 3.5.2 и Python 3.7.1.

SQL 2017 CU22 устанавливает более высокое значение R & Python, поэтому вам нужно запустить исполняемый файл, чтобы сообщить SQL использовать более высокие версии R & Python, которые были установлены на диске.

Исправление, которое сработало для нас:

(1) Создайте новый каталог, например, D: \ MLSTEMP

(2) Создайте подкаталоги D: \ MLSTEMP\ <SQL_instance> 00 и D: \ MLSTEMP\ <SQL_instance>01

(3) Убедитесь, что локальная служба MSSQLLaunchpad, группа «Все» и учетная запись службы SQL имеют полный доступ как к D: \ MLSTEMP, так и к вложенным каталогам.

Примечание: скобки <> не являются частью имени каталога

Примечание. Имя службы панели запуска: NTService \ MSSQLLaunchpad $ <instance_name>

(4) Перейдите к своему

D: \ Program Files \ Microsoft SQL Server \ MSSQL14.SQL001 \ MSSQL \ Binn \ pythonlauncher.config

и

D: \ Program Files \ Microsoft SQL Server \ MSSQL14.SQL001 \ MSSQL \ Binn \ rlauncher.config
и измените параметр WORKING_DIRECTORY в каждом файле на WORKING_DIRECTORY=D: \ MLSTEMP

(5) Перезапустите службу MSSQLLaunchpad на коробке.

Интересно, что используется каталог ****01, а не каталог ****00.

Теперь он должен работать. Возможно, вам придется немного поиграть с разрешениями.

HTH.

Другие вопросы по тегам