Using unbind to downgrade bound R Server 9.1.0

One of my customers recently had a situation that they upgraded their Microsoft R Server to the latest version 9.1.0, and bound it to SQL Server 2016. Then they want to downgrade to SQL Server 2016 built-in MS R version 8.0.3. According to the document - /en-us/sql/advanced-analytics/r/use-sqlbindr-exe-to-upgrade-an-instance-of-sql-server, you can surely upgrade it, but how do we downgrade. Here is what I tested in my lab step by step:

Current environment: SQL Server 2016 SP1 CU3 + Microsoft R Server 9.1.0 (bound)
Goal: downgrade R server 9.1.0 to lower version, which is 8.0.3 (the built-in MSR version in SQL Server 2016 SP1) in this test

1. Unbind the R Server 9.1.0 with the SQL Server instance

 cd “C:\Program Files\Microsoft\R Server\Setup”
sqlbindr.exe /list
sqlbindr.exe /unbind mssql13.mssqlserver

image

2. If I run the R validation script in SSMS, it failed as expected as the R Server is unbound with SQL Server instance.

image

3. Since unbinding removes all versions of MRS on the instance, users need to run SQL Setup repair to restore MRS on the instance.

image

image

4. During the SQL repair, the SQL Server instance will be restarted, so it requires downtime. Once the repair completes, now you have the SQL Server 2016 SP1 build-in R 8.0.3 back.

image

PG put a lot of effort to make the process easier, that is it! Hope this helps in case you are having similar issue.
Next time, I will put together a blog for how to in-place upgrade SQL Server 2012/2014 to SQL 2016 with R Services.

~heweng