SQL Server 机器学习服务 - 无法启动运行时。 ErrorCode 0x80070032: 50(不支持该请求。)

问题描述 投票:0回答:2

尝试在 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 服务都会发生这种情况。

如有任何帮助,我们将不胜感激。

sql-server sql-server-2017 microsoft-r microsoft-machine-learning-server
2个回答
0
投票

我今天使用的解决方案从 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\ < SQL_instance >00D:\MLSTEMP\ < SQL_instance >01

(3) 确保本地 MSSQLLaunchpad 服务、Everyone 组和 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 启动器配置
文件并将每个文件中的 WORKING_DIRECTORY 设置更改为 WORKING_DIRECTORY=D:\MLSTEMP

(5) 重启盒子上的MSSQLLaunchpad服务。

有趣的是,使用的是 ****01 目录,而不是 ****00 目录。

现在应该可以工作了。您可能需要稍微调整一下权限。

HTH.


0
投票

我来这里是为了寻找 Python 无法在 SQL Server 2022 上启动的解决方案。如果以下内容对某人有帮助:

  1. 如果您尝试使 3.10 之后的 Python 版本正常工作,然后卸载并安装 3.11,您可能需要更新
    C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn\pythonlauncher.config
    。将
    Python31x
    的所有实例更改为
    Python310
  2. 服务器需要安装全文搜索功能,否则 Launchpad 服务将丢失
  3. 确保安装后启动 Launchpad 服务。

在此之后(并且之前遵循官方 MLS Python 安装说明)以下工作有效:

EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python'
GO
© www.soinside.com 2019 - 2024. All rights reserved.