Alterar a versão padrão do runtime da linguagem R ou Python

Aplica-se a: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Este artigo descreve como alterar a versão padrão do R ou do Python usada em SQL Server 2016 R Services ou SQL Server 2017 Machine Learning Services.

A seguir, são listadas as versões do runtime do R e do Python que estão incluídas nas diferentes versões do SQL Server.

Versão do SQL Server Serviço Atualização Cumulativa Versões de runtime do R Versão de runtime do Python
SQL Server 2016 R Services RTM – SP2 CU13 3.2.2 Não disponível
SQL Server 2016 R Services SP2 CU14 e posteriores 3.2.2 e 3.5.2 Não disponível
Microsoft SQL Server 2017 Serviços de Machine Learning RTM – CU21 3.3.3 3.5.2
Microsoft SQL Server 2017 Serviços de Machine Learning CU22 e posteriores 3.3.3 e 3.5.2 3.5.2 e 3.7.2

Pré-requisitos

Você precisa instalar uma CU (atualização cumulativa) para alterar a versão padrão do runtime da linguagem R ou Python:

  • SQL Server 2016: CU (atualização cumulativa) 14 do SP (Service Pack) 2 ou posterior
  • SQL Server 2017: CU (atualização cumulativa) 22 ou posterior

Para baixar a atualização cumulativa mais recente, confira Atualizações mais recentes para o Microsoft SQL Server.

Observação

Se você corrigir a atualização cumulativa com uma nova instalação do SQL Server, somente as versões mais recentes do runtime do R e do Python serão instaladas.

Alterar versão do runtime do R

Se você tiver instalado uma das atualizações cumulativas acima para SQL Server 2016 ou 2017, poderá ter várias versões do R em uma instância SQL. Cada versão está contida em uma subpasta da pasta de instância com o nome R_SERVICES.<major> . <minor> (a pasta da instalação original pode não ter um número de versão anexado ao nome da pasta).

Se você instalar uma CU contendo R 3.5, a nova pasta R_SERVICES será:

  • SQL Server 2016: C:\Program Files\Microsoft SQL Server\MSSQL13.<INSTANCE_NAME>\R_SERVICES.3.5
  • SQL Server 2017: C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\R_SERVICES.3.5

Cada instância SQL usa uma dessas versões como a versão padrão do R. Você pode alterar a versão padrão usando o utilitário de linha de comando RegisterRext.exe. O utilitário está localizado na pasta do R em cada instância SQL:

<Caminho da instância SQL> \R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe

Observação

A funcionalidade descrita neste artigo está disponível apenas com a cópia de RegisterRext.exe incluída nas CUs do SQL. Não use a cópia que veio com a instalação original do SQL.

Para alterar a versão de runtime do R, passe os seguintes argumentos de linha de comando para RegisterRext.exe:

  • /configure – obrigatório, especifica que você está configurando a versão padrão do R.

  • /instance:<nome da instância> – opcional, a instância que você deseja configurar. Se não for especificado, a instância padrão será configurada.

  • /rhome:<caminho para a pasta R[n.n]> – opcional, caminho para a pasta de versão de runtime que você deseja definir como a versão padrão do R.

    Se você não especificar /rhome, o caminho configurado será o caminho no qual RegisterRext.exe está localizado.

Exemplos

Veja a seguir exemplos de como alterar a versão do runtime do R no SQL Server 2016 e 2017.

Alterar a versão do runtime do R no SQL Server 2016

Por exemplo, para configurar R 3.5 como a versão padrão do R para a instância MSSQLSERVER01 no SQL Server 2016:

cd "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"

.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01

Alterar a versão do runtime do R no SQL Server 2017

Por exemplo, para configurar R 3.5 como a versão padrão do R para a instância MSSQLSERVER01 no SQL Server 2017:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"

.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01

Nesses exemplos, você não precisa incluir o argumento /rhome, já que está especificando a mesma pasta em que RegisterRext.exe está localizado.

Alterar a versão do runtime do Python

Se você instalou a CU22 ou posterior para SQL Server 2017, poderá ter várias versões do Python em uma instância SQL. Cada versão está contida em uma subpasta da pasta de instância com o nome PYTHON_SERVICES.<major> . <minor> (a pasta da instalação original pode não ter um número de versão anexado ao nome da pasta).

Por exemplo, se você instalar uma CU contendo Python 3.7, uma pasta PYTHON_SERVICES será criada:

C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\PYTHON_SERVICES.3.7

Cada instância SQL usa uma dessas versões como a versão padrão do Python. Você pode alterar a versão padrão usando o utilitário de linha de comando RegisterRExt.exe. O utilitário está localizado nas pastas do Python em cada instância SQL:

<Caminho da instância SQL>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe

Observação

A funcionalidade descrita neste artigo está disponível apenas com a cópia de RegisterRExt.exe incluída nas CUs do SQL. Não use a cópia que veio com a instalação original do SQL.

Para alterar a versão de runtime do Python, passe os seguintes argumentos de linha de comando para RegisterRext.exe:

  • /configure – obrigatório, especifica que você está configurando a versão padrão do Python.

  • /python – especifica que você está configurando a versão padrão do Python. Opcional se você especificar /pythonhome.

  • /instance:<nome da instância> – opcional, a instância que você deseja configurar. Se não for especificado, a instância padrão será configurada.

  • /pythonhome:<caminho para a pasta PYTHON_SERVICES[n.n]> – opcional, caminho para a pasta de versão de runtime que você deseja definir como a versão padrão do Python.

    Se você não especificar /pythonhome, o caminho configurado será o caminho no qual RegisterRExt.exe está localizado.

Exemplo

Por exemplo, para configurar Python 3.7 como a versão padrão do Python para a instância MSSQLSERVER01 no SQL Server 2017:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7\Lib\site-packages\revoscalepy\rxLibs"

.\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01

Nesse exemplo, você não precisa incluir o argumento /pythonhome, já que está especificando a mesma pasta em que RegisterRext.exe está localizado.

Remover uma versão de runtime

Para remover uma versão do R ou do Python, use RegisterRExt.exe com o argumento da linha de comando /cleanup, usando os mesmos argumentos /rhome, /pythonhome e /instance descritos anteriormente.

Por exemplo, para remover a pasta R 3.2 da instância MSSQLSERVER01:

.\RegisterRext.exe /cleanup /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES" /instance:MSSQLSERVER01

Por exemplo, para remover a pasta Python 3.7 da instância MSSQLSERVER01:

.\RegisterRExt.exe /cleanup /python /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01

RegisterRext.exe solicitará que você confirme a limpeza do runtime do R especificado:

Tem certeza de que deseja excluir permanentemente o runtime fornecido junto com todos os pacotes instalados nele? Sim(Y)/Não(N)/Padrão(Sim):

Para confirmar, responda Y ou pressione Enter. Como alternativa, você pode ignorar esse prompt passando /y ou /Yes junto com a opção /cleanup.

Observação

Você só poderá remover uma versão se ela não estiver configurada como padrão e não estiver sendo usada para executar RegisterRext.exe.

Próximas etapas