【问题标题】:SQL Server Machine Learning Services - Unable to launch the runtime. ErrorCode 0x80070032: 50(The request is not supported.)SQL Server 机器学习服务 - 无法启动运行时。 ErrorCode 0x80070032: 50(不支持该请求。)
【发布时间】:2020-12-29 23:04:27
【问题描述】:

尝试在 SQL Server 2017 上配置 MLS,但在运行非常基本的外部脚本时:

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

我收到此错误:

消息 39021,第 16 级,状态 1,第 1 行 无法启动“R”脚本的运行时。请检查“R”运行时的配置。 消息 39019,第 16 层,状态 2,第 1 行 发生外部脚本错误: 无法启动运行时。 ErrorCode 0x80070032: 50(不支持该请求。)。

如果我查看日志 EXTLAUNCHERRORLOG,我会看到:

2020-12-29 17:53:49.554 SetCpuRateCap 失败,错误代码为 0x80070032。

我在任何地方都找不到对这个错误的引用,我很困惑。尝试了各种方法(检查权限、关闭资源管理器、更新到最新的 CU、重新安装 MLS 等)。我们有一个类似的服务器在相同的 Azure 平台上运行(相同的大小,W2012R2,相同的内存/cpu 配置),配置大致相同,似乎没有这个问题。 R 和 Python 服务都会出现这种情况。

任何帮助将不胜感激。

【问题讨论】:

  • stackoverflow.com/questions/33473612/… "此问题与 R Services 的工作目录有关,如果您遇到此错误,首先要做的是检查 R Services 工作目录的路径。如果您在 R Services 安装期间没有更改默认文件位置,那么 R Services 工作目录路径很可能包含带空格的文件夹名称,因此有必要将工作目录更改为不带空格的路径。”跨度>
  • 谢谢。我们尝试了这些修复,但没有成功。 R 路径中没有空格,我们尝试了 /uninstall 和 /install 无济于事。然而,我们确实发现,如果您关闭资源管理器,它就可以工作。如果您将其打开,但最大 CPU 百分比低于 100%,则不会。因此,似乎与资源管理器有关,正如它所说,出于某种原因设置 CPU 速率。
  • 我在 SQL 日志中发现了这个:Resource governor reconfiguration encountered an issue (HRESULT code : 0x8007000e, reason: No memory for connecting LaunchPad process), while sending active external resource pool ids to launchpad. This will not fail reconfigure.

标签: sql-server sql-server-2017 microsoft-r microsoft-machine-learning-server


【解决方案1】:

我今天使用的解决方案从 R 3.3.3 和 python 3.5.2 更改为 R 3.5.2 和 Python 3.7.1。

SQL 2017 CU22 安装了 R & Python 的更高价值,因此您必须运行一个 exe 来告诉 SQL 使用安装在磁盘上的更高 R & Python 版本。

对我们有用的修复:

(1) 创建一个新目录,例如D:\MLSTEMP

(2) 创建子目录D:\MLSTEMP\ 00D:\MLSTEMP\ 01

(3) 确保本地 MSSQLLaunchpad 服务、Everyone 组和 SQL 服务帐户对 D:\MLSTEMP 和子目录具有完全访问权限。

注意: 括号不是目录名称的一部分

注意:启动板服务名称为:NTService\MSSQLLaunchpad$

(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。

【讨论】:

    猜你喜欢
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多