I ran into an interesting SQL Server Machine Learning Services issue the other day. We decided to upgrade our SQL Server 2016 machine running R Services to SQL Server 2017. This was an in-place upgrade rather than rebuild and reinstall.
The Problem
After installation completed, the DBA enabled SQL Server 2017 Machine Learning Services, but as soon as I tried to run a simple R script, it stalled for about 30 seconds and then I got an error:
Msg 39012, Level 16, State 1, Line 0
Unable to communicate with the runtime for ‘R’ script. Please check the requirements of ‘R’ runtime.
STDERR message(s) from external script:
Error: could not find function “rxSqlUpdateLibPaths”
Execution halted
There were exactly 0 Google hits for rxSqlUpdateLibPaths, so that was an auspicious beginning. Fortunately, I found a solution relatively quickly.
The Solution
It turns out that on this SQL Server 2016 machine, we had installed Microsoft R Server 9.1.0 and bound SQL Server 2016 R Services to the newer version of Microsoft R Server. One of the things this does is create an R_LIBS_USER variable pointing to Microsoft R Server. After changing that to point to the R Services library (generally located in {version}.MSSQLSERVER\R_SERVICES\library) and restarting the SQL Server 2017 Launchpad service, everything worked as expected.
One thought on “Could Not Find Function rxSqlUpateLibPaths”