Sqlserver 2016 R Service环境安装的各种错误(坑)解决办法

本文详细介绍了如何在SQL Server 2016中正确配置并使用R语言功能,包括启动必要的服务、修改配置文件、设置工作目录路径及权限,并通过命令行工具完成组件注册。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信很多朋友都会慕名Sqlserver 2016的R语言功能,将自己的数据库升级到Sqlserver 2016,但是当你安装完Sqlserver 2016的R语言组件之后,你会发现并不能直接使用,比如当你在SSMS中执行下面这段测试R语言命令的时候,Sqlserver 2016会各种报错。。。

 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   

 

本人也是折腾了好久最终才成功在Sqlserver 2016中执行了R语言。

首先如果你要启用Sqlserver的R语言功能,必须要启动Sqlserver的两个服务:

1.Sqlserver实例数据库引擎服务:

2.Sqlserver实例SQL Server Lanuchpad服务:

 

启动这两个服务之后,还要在SSMS中执行下面这段SQL脚本,才能在Sqlserver中开启执行外部脚本(R语言)的功能。注意执行完这段脚本后要重启数据库引擎服务和SQL Server Lanuchpad服务才会正式生效

Exec sp_configure  'external scripts enabled', 1;
reconfigure;

 

如果你在安装Sqlserver 2016的时候,安装路径中如果出现了空格,那么恭喜你。。。你还需要修改一个系统配置文件,否者Sqlserver 2016 的R语言运行时会报错。。。

比如我安装Sqlserver 2016的时候安装路径为D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER

那么找到文件D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\rlauncher.config

使用操作系统管理员权限启动记事本(notepad),打开rlauncher.config,找到WORKING_DIRECTORY这一项修改为一个不带空格的文件夹路径,这里我使用了自定义的一个文件夹D:\RWorkspace

 

 将D:\RWorkspace赋予windows用户everyone的完全控制权限(看到有文章说其实是要给这个文件夹赋予SQL Server Lanuchpad服务的执行账户的完全控制权限,但是由于我没有在系统中找到SQL Server Lanuchpad服务的执行账户,所以这里就赋予了用户everyone的完全控制权限):

 

 

然后以管理员身份启动命令行工具CMD,定位到文件夹D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library\RevoScaleR\rxLibs\x64

执行CMD命令:

registerRext.exe /uninstall

结果如下:

 

再执行CMD命令:

registerRext.exe /install

结果如下:

 

再次在SSMS中执行上面的测试R语言命令:

 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   

结果如下,R语言模块成功运行!

 

但是由于执行了registerRext.exe /uninstall和registerRext.exe /install,我发现这两个命令其实最终会将rlauncher.config文件中WORKING_DIRECTORY的路径更改为D:\SQL-mssqlserver-ExtensibilityData,如下图所示:

所以前面我们修改rlauncher.config中配置文件和给文件夹D:\RWorkspace赋予everyone完全控制权限的步骤可能是多余的,但是最终目的反正就是不能让rlauncher.config文件中WORKING_DIRECTORY的路径包含空格,否者Sqlserver 2016的R语言运行时会报错,这一点必须要注意。

 

好了R语言服务终于可以成功使用了,接下来就可以探究Sqlserver R语言的奥妙之处了!

<think>我们正在解决SQL Server 2016安装过程中卡在“安装程序正在处理当前操作,请稍后”的问题。根据经验,这可能是由于多种原因引起的,包括系统资源不足、磁盘空间不足、权限问题、安装文件损坏或与某些软件冲突等。我们将逐步排查可能的原因并提供解决方案。 ### 步骤1: 检查系统资源 首先,确保安装过程中有足够的系统资源(CPU、内存和磁盘空间)。SQL Server 2016对系统资源有一定要求,特别是磁盘空间。请检查: - 系统盘(通常是C盘)和安装目标盘是否有足够的空间(至少6GB以上,建议预留更多)。 - 内存是否足够,如果内存不足,可以尝试关闭不必要的程序。 ### 步骤2: 检查磁盘空间 如果磁盘空间不足,可能会导致安装卡住。请清理磁盘空间或选择有足够空间的磁盘进行安装。 ### 步骤3: 以管理员身份运行安装程序 权限问题可能导致安装程序无法正常进行。请右键点击安装程序,选择“以管理员身份运行”。 ### 步骤4: 关闭防病毒软件和防火墙 某些安全软件可能会干扰安装过程。尝试暂时禁用防病毒软件和防火墙,然后重新运行安装程序。参考引用[1]中提到的Symantec Endpoint Protection anti-virus Client升级后解决了问题,说明安全软件可能引起问题[^1]。同时,引用[2]提供了防火墙服务的操作命令[^2],但这里我们主要是暂时关闭安全软件。 ### 步骤5: 检查安装文件完整性 安装文件损坏或不完整也会导致安装卡住。请重新下载安装文件或验证安装文件的哈希值。 ### 步骤6: 检查日志文件 SQL Server安装过程中会生成日志文件,通过查看日志可以定位问题。日志文件通常位于: ```plaintext %ProgramFiles%\Microsoft SQL Server\130\Setup Bootstrap\Log\ ``` (注意:130是SQL Server 2016的版本号,路径可能略有不同) 在日志文件夹中,查找最新的日志文件,特别是以“Detail.txt”结尾的文件,查看是否有错误信息。 ### 步骤7: 确保系统满足要求 确认操作系统版本满足SQL Server 2016的要求。SQL Server 2016支持Windows 10、Windows Server 2012 R2等,但需要安装必要的补丁。 ### 步骤8: 尝试从命令行安装 有时图形界面安装会出现问题,可以尝试从命令行安装,这样可以更详细地看到安装过程。例如: ```cmd setup.exe /ACTION=INSTALL /FEATURES=SQL,AS,RS,IS /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /ASSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /RSSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /ISSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /IACCEPTSQLSERVERLICENSETERMS ``` (注意:上述命令仅为示例,请根据实际安装需求和配置调整参数) ### 步骤9: 检查与现有组件的冲突 如果之前安装过SQL Server的旧版本或其他组件,可能存在冲突。尝试卸载旧版本或清除残留文件后再安装。 ### 步骤10: 确保安装媒体没有问题 如果使用光盘安装,请确保光盘没有损坏;如果使用U盘或网络位置,确保文件复制完整。 ### 步骤11: 检查系统事件日志 在安装卡住时,查看Windows事件日志(特别是系统和应用程序日志),可能会记录相关错误。 ### 步骤12: 等待足够长时间 某些操作(如更新系统)可能需要较长时间,尤其是在较慢的机器上。如果系统没有完全死机,可以等待数小时看是否继续。 ### 步骤13: 重新启动计算机 有时临时问题可以通过重启解决。重启后再次运行安装程序。 ### 步骤14: 使用干净的启动环境 通过“msconfig”配置系统启动为“有选择的启动”,并禁用所有非Microsoft服务,然后重新启动计算机,再进行安装。这可以排除第三方软件冲突。 ### 步骤15: 确保没有挂起的重新启动 在安装之前,确保系统没有挂起的重新启动(例如,安装了更新后未重启)。检查注册表项: ```reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager ``` 查看是否存在PendingFileRenameOperations值,如果有,则重启计算机。 ### 步骤16: 安装必要的运行库 确保系统已安装必要的运行库,如.NET Framework 3.5 SP1(或更高版本)、Windows Installer 4.5等。 ### 步骤17: 检查数据库文件路径权限 引用[3]中提到了磁盘空间不足导致的问题[^3],同样,如果安装程序在创建数据库文件时没有权限,也会卡住。确保安装账户对目标路径(如默认的C:\Program Files\Microsoft SQL Server)有完全控制权限。 ### 步骤18: 参考引用[4]中的初始化数据库操作 虽然引用[4]是关于MySQL的初始化[^4],但同样提醒我们,数据库安装过程中初始化步骤需要足够的磁盘空间和权限。确保SQL Server安装的磁盘空间足够,并且安装账户有权限。 如果以上步骤仍无法解决问题,建议联系Microsoft支持或搜索更具体的错误日志信息。 §§相关问题§§ 1. 如何解决SQL Server安装过程中出现的其他常见错误? 2. SQL Server安装完成后如何进行基本配置? 3. 如何优化SQL Server 2016的性能?</think>### SQL Server 2016 安装卡在“安装程序正在处理当前操作”的解决方案 当 SQL Server 2016 安装卡在“安装程序正在处理当前操作,请稍后”时,通常由以下原因导致。请按顺序排查: --- #### 1. **检查磁盘空间不足问题** - **核心原因**:安装程序无法分配数据库文件所需空间(参考引用[3]类似错误)[^3]。 - **解决方法**: - 确保系统盘(`C:`)和安装目标盘**剩余空间 > 20GB**。 - 清理临时文件:按 `Win+R` 输入 `%temp%` 删除所有临时文件。 - 若提示类似引用[3]的磁盘错误,需扩展磁盘或迁移文件[^3]。 --- #### 2. **关闭安全软件冲突** - **核心原因**:防病毒软件可能阻塞安装进程(参考引用[1]的杀软冲突案例)[^1]。 - **解决方法**: - 临时禁用 Symantec/McAfee 等杀毒软件(通过系统托盘图标右键退出)。 - 若企业环境无法禁用,将 SQL Server 安装目录加入白名单: - `C:\Program Files\Microsoft SQL Server` - `C:\Program Files (x86)\Microsoft SQL Server` --- #### 3. **修复权限问题** - **核心原因**:安装账户权限不足。 - **解决方法**: - 右键点击安装程序 → **以管理员身份运行**。 - 确保当前用户对以下目录有完全控制权: ```cmd icacls "C:\Program Files\Microsoft SQL Server" /grant Users:(F) icacls "C:\Windows\Temp" /grant Users:(F) ``` --- #### 4. **检查挂起的系统重启** - **核心原因**:Windows 更新后未重启导致安装阻塞。 - **解决方法**: 1. 按 `Win+R` 输入 `regedit` 打开注册表。 2. 定位路径: ```reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager ``` 3. 删除右侧的 `PendingFileRenameOperations` 值(如果存在)。 4. **重启计算机**后重试安装。 --- #### 5. **清理临时文件并重试** - **步骤**: 1. 停止安装程序。 2. 删除临时文件: ```cmd del /f /q /s "%ProgramFiles%\Microsoft SQL Server\*\Setup Bootstrap\Log\*" del /f /q /s "%ProgramFiles% (x86)\Microsoft SQL Server\*\Setup Bootstrap\Log\*" ``` 3. 重启计算机,重新运行安装程序。 --- #### 6. **检查日志定位具体错误** - 安装日志路径: ```plaintext C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Log\ ``` - **关键文件**: - `Summary.txt` → 查看错误代码(如 `0x80004005`)。 - `Detail_ComponentUpdate.txt` → 检查卡住时的最后操作。 - 若出现类似引用[3]的 `0x80004005` 错误,需按磁盘空间或权限方案处理[^3]。 --- #### 7. **使用命令行安装(绕过 GUI 阻塞)** - 通过命令行指定参数安装核心服务: ```cmd setup.exe /QS /ACTION=INSTALL /FEATURES=SQLENGINE /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /AGTSVCACCOUNT="NT AUTHORITY\SYSTEM" /IACCEPTSQLSERVERLICENSETERMS ``` - **参数说明**: - `/QS`:静默安装(显示进度) - `/FEATURES=SQLENGINE`:仅安装数据库引擎 - 其他组件可在安装后通过控制面板添加。 --- #### 8. **其他注意事项** - **系统要求**:确保 Windows 版本为 SP1 或更高(Windows 10/Server 2012 R2+)。 - **.NET Framework**:手动安装 [.NET Framework 3.5](https://learn.microsoft.com/en-us/dotnet/framework/install/)。 - **虚拟内存**:设置虚拟内存至少 4GB(尤其物理内存 < 8GB 时)。 > ⚠️ 若仍失败,尝试下载新版安装镜像(MSDN 或 VLSC 渠道),避免安装包损坏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值