What is SQL Server 2016 R Services?

Applies to: yesSQL Server 2016 (13.x) only

R Services is a feature in SQL Server 2016 that gives the ability to run R scripts with relational data. You can use open-source packages and frameworks, and the Microsoft R packages for predictive analytics and machine learning. The scripts are executed in-database without moving data outside SQL Server or over the network. This article explains the basics of SQL Server R Services.


R Services was renamed to Machine Learning Services in SQL Server 2017 and later, and supports both Python and R.

What is R Services?

SQL Server R Services lets you execute R scripts in-database. You can use it to prepare and clean data, do feature engineering, and train, evaluate, and deploy machine learning models within a database. The feature runs your scripts where the data resides and eliminates transfer of the data across the network to another server.

Base distributions of R are included in R Services. You can use open-source packages and frameworks in addition to the Microsoft packages RevoScaleR, MicrosoftML, [olapR]../r/ref-r-olapr.md), and sqlrutils for R.

R Services uses an extensibility framework to run R scripts in SQL Server. Learn more about how this works:

What can I do with R Services?

You can use R Services to build and training machine learning and deep learning models within SQL Server. You can also deploy existing models to R Services and use relational data for predictions.

Examples of the type of predictions that you can use SQL Server R Services for, include:

Prediction type Example
Classification/Categorization Automatically divide customer feedback into positive and negative categories
Regression/Predict continuous values Predict the price of houses based on size and location
Anomaly Detection Detect fraudulent banking transactions
Recommendations Suggest products that online shoppers may want to buy, based on their previous purchases

How to execute R scripts

There are two ways to execute R scripts in R Services:

R versions

The following lists the versions of the R runtime that are included in SQL Server 2016 R Services.

SQL Server version Default R runtime versions
SQL Server 2016 RTM - SP2 CU13 3.2.2
SQL Server 2016 SP2 CU14 and later 3.2.2 and 3.5.2

Cumulative Update (CU) 14 for SQL Server 2016 Service Pack (SP) 2 and later include newer R runtimes. For more information, see Change the default language runtime version.

For other versions of R, or to run Python, use Machine Learning Services for SQL Server 2017 and later.

R packages

You can use open-source packages and frameworks, in addition to Microsoft's enterprise packages. Most common open-source R packages are pre-installed in R Services. The following R packages from Microsoft are also included:

Package Description
RevoScaleR The primary package for scalable R. Data transformations and manipulation, statistical summarization, visualization, and many forms of modeling. Additionally, functions in this package automatically distribute workloads across available cores for parallel processing.
MicrosoftML (R) Adds machine learning algorithms to create custom models for text analysis, image analysis, and sentiment analysis.
olapR R functions used for MDX queries against a SQL Server Analysis Services OLAP cube.
sqlrutils A mechanism to use R scripts in a T-SQL stored procedure, register that stored procedure with a database, and run the stored procedure from an R development environment.
Microsoft R Open Microsoft R Open (MRO) is the enhanced distribution of R from Microsoft. It is a complete open-source platform for statistical analysis and data science. It is based on and 100% compatible with R, and includes additional capabilities for improved performance and reproducibility.

How do I get started with RServices?

  1. Install SQL Server 2016 R Services

  2. Configure your development tools. You can use:

  3. Write your first R script

Next steps