【发布时间】: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