You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL托管实例执行含R代码的SQL查询时持续挂起

解决Azure SQL托管实例中R脚本执行挂起的问题

针对你遇到的Azure SQL托管实例运行R脚本始终挂起的问题,可按以下步骤排查配置问题:

  • 确认外部脚本启用状态
    执行以下SQL查询验证配置:

    EXEC sp_configure 'external scripts enabled';
    

    若返回的value为0,需执行开启命令并生效:

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

    注意:部分场景下可能需要重启托管实例使配置生效。

  • 检查R服务组件运行状态

    • 查看SQL Server错误日志,搜索RLauncher、BxlServer相关条目,确认组件是否正常启动,是否存在权限不足、资源缺失等报错。
    • 确认托管实例的资源使用率(CPU、内存),通用层Gen5实例需保证有足够预留资源供外部脚本运行,若资源耗尽会导致脚本挂起。
  • 验证账号权限

    • 执行sp_execute_external_script的登录账号需具备EXECUTE ANY EXTERNAL SCRIPT权限,可通过以下命令授予:
      GRANT EXECUTE ANY EXTERNAL SCRIPT TO [你的登录账号];
      
    • 检查默认运行外部脚本的SQLRUserGroup账号是否拥有R安装目录、临时文件目录的读写权限,权限缺失会导致脚本无法正常初始化。
  • 用极简脚本测试基础环境
    运行无依赖的极简脚本,排除脚本内容影响:

    EXEC sp_execute_external_script 
        @language = N'R',
        @script = N'OutputDataSet <- data.frame(Id = 1:3);'
    WITH RESULT SETS ((Id INT));
    

    若仍挂起,说明问题出在基础环境配置而非脚本逻辑。

  • 排查网络与防火墙限制

    • 确认托管实例的网络安全组(NSG)未阻断SQL引擎与外部脚本服务的内部通信端口(如54321、54322等)。
    • 检查实例出站规则,确保R服务组件能正常与SQL引擎进行本地通信(空脚本无需联网,重点排查内部通信)。
  • 查看诊断日志
    在Azure门户中打开托管实例的诊断日志,筛选ExternalScriptsRuntime类别,查看是否有具体的报错信息,这些日志能直接定位组件故障点。

内容的提问来源于stack exchange,提问作者Calum Peebles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 14:11:08