SQL Server was unable to communicate with the LaunchPad service I have run the below code:

execute sp_configure 'external scripts enabled';


and it is giving me the output as:

name                    minimum maximum config_value    run_value
external scripts enabled    0    1       1              1


I have also started the launchpad services, still when I am running the below code:

exec sp_execute_external_script @language =N'R',   
@script=N'OutputDataSet&lt;-InputDataSet',  
@input_data_1 =N'select 1+1 as SUMOutput'  
with result sets (([SUM Output] int not null));  
go 


It is throwing the error:


  Msg 39011, Level 16, State 1, Line 7 SQL Server was unable to
  communicate with the LaunchPad service. Please verify the
  configuration of the service.   Msg 11536, Level 16, State 1, Line 7
  EXECUTE statement failed because its WITH RESULT SETS clause specified
  1 result set(s), but the statement only sent 0 result set(s) at run
  time.


I have SQL Server 2016 editon and the SQL Server Management Studio is 2017.
i have the following snippet of my services.
I had the same issue and I solved it by installing the Service Pack on top of the media installed R.

I think it is a related to install an old version of LaunchPad on an already updated SQL Server.

As per this Q&amp;A

SQL Server LaunchPad &quot;The service did not respond in a timely fashion&quot; + No Log in ExtensibilityLog

My timeline.


My sql install was a semi-updated SP1.
My media was a stock SP1.
I installed R, wouldn't work (Restarted, same)
LaunchPad wouldn't start (Restarted, same)
Made sure the SQL user account was part of the R group
LauchPad would start but R wouldn't work. (Restarted, same)
Updated to SP2 (Restarted)
R worked.
Updated to SP2 CU4 (Restarted)
R worked.


My testing script

    EXEC sp_execute_external_script
                      @language =N'R',
                      @script=N'OutputDataSet&lt;-InputDataSet',
                      @input_data_1 =N'SELECT 1 AS hello'
                      WITH RESULT SETS (([Hello World] INT));
                        GO