Partilhar via


Atualizar o tempo de execução Python e R com vinculação nos Serviços de Aprendizado de Máquina do SQL Server

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

Importante

O suporte para o Machine Learning Server (anteriormente conhecido como R Server) terminou em 1º de julho de 2022. Para obter mais informações, consulte O que está acontecendo com o Servidor de Aprendizado de Máquina?

Este artigo descreve como usar um processo de instalação chamado vinculação para atualizar os tempos de execução R ou Python no SQL Server 2016 R Services ou SQL Server 2017 Machine Learning Services. Você pode obter versões mais recentes do Python e Rvinculando-se ao Microsoft Machine Learning Server.

Importante

Este artigo descreve um método antigo para atualizar os tempos de execução R e Python, chamado vinculação. Se você tiver instalado a Atualização Cumulativa () 14 ou posterior para o SQL Server 2016 Services Pack (SP) 2 ou a Atualização Cumulativa () 22 ou posterior para o SQL Server 2017, veja como alterar o tempo de execução da linguagem R ou Python padrão para uma versão posterior .

O que é a vinculação?

A vinculação é um processo de instalação que substitui o conteúdo das pastas R_SERVICES e PYTHON_SERVICES por executáveis, bibliotecas e ferramentas mais recentes do Microsoft Machine Learning Server.

Os componentes carregados incluídos no modelo de manutenção foram alterados. As atualizações de serviço correspondem à linha do tempo de suporte para o Microsoft R Server & Machine Learning Server no Ciclo de Vida Moderno.

Exceto para versões de componentes e atualizações de serviço, a vinculação não altera os conceitos básicos da instalação:

  • A integração Python e R ainda faz parte de uma instância do mecanismo de banco de dados.
  • O licenciamento mantém-se inalterado (sem custos adicionais associados à vinculação).
  • As políticas de suporte do SQL Server ainda são válidas para o mecanismo de banco de dados.

O restante deste artigo explica o mecanismo de vinculação e como ele funciona para cada versão do SQL Server.

Observação

A associação aplica-se apenas a instâncias no banco de dados vinculadas a instâncias do SQL Server. Neste caso, a vinculação não é necessária para uma instalação independente.

Considerações de vinculação do SQL Server 2016

Para clientes do SQL Server 2016 R Services, a associação fornece:

  • Pacotes R atualizados.
  • Novos pacotes que não fazem parte da instalação original (MicrosoftML)
  • Modelos de aprendizado de máquina pré-treinados para análise de sentimento e deteção de imagens.

Toda a associação pode ser atualizada em cada nova versão principal e secundária do Microsoft Machine Learning Server.

Mapa de versões

As tabelas a seguir são mapas de versão. Cada mapa mostra as versões do pacote entre as versões. Você pode revisar os caminhos de atualização ao vincular ao Microsoft Machine Learning Server (anteriormente conhecido como R Server, antes da adição do suporte ao Python iniciado no Machine Learning Server 9.2.1).

A vinculação não garante a versão mais recente do R ou Anaconda. Quando você se associa ao Microsoft Machine Learning Server, você obtém a versão R ou Python instalada através da instalação, que pode não ser a versão mais recente disponível na Web.

Serviços do SQL Server 2016 R

Componente Versão Inicial Servidor R 9.0.1 Servidor R 9.1 Servidor de Aprendizado de Máquina 9.2.1 Servidor de Aprendizado de Máquina 9.3 Servidor de Aprendizado de Máquina 9.4.7
Microsoft R Open (MRO) sobre R R 3.2.2 R 3.3.2 R 3.3.3 R 3.4.1 R 3.4.3 R 3.5.2
RevoScaleR 8.0.3 9.0.1 9.1 9.2.1 9.3 9.4.7
MicrosoftML n.d. 9.0.1 9.1 9.2.1 9.3 9.4.7
modelos pré-treinados n.d. 9.0.1 9.1 9.2.1 9.3 9.4.7
SQLRUTILS n.d. 1.0 1.0 1.0 1.0 1.0
olapR n.d. 1.0 1.0 1.0 1.0 1.0

Serviços de Aprendizado de Máquina do SQL Server 2017

Componente Versão Inicial Servidor de Aprendizado de Máquina 9.3 Servidor de Aprendizado de Máquina 9.4.7
Microsoft R Open (MRO) sobre R R 3.3.3 R 3.4.3 R 3.5.2
RevoScaleR 9.2 9.3 9.4.7
MicrosoftML 9.2 9.3 9.4.7
SQLRUTILS 1.0 1.0 1.0
olapR 1.0 1.0 1.0
Anaconda 4.2 sobre Python 3.5 4.2/3.5.2 4.2/3.5.2
Revoscalepy 9.2 9.3 9.4.7
MicrosoftML 9.2 9.3 9.4.7
modelos pré-treinados 9.2 9.3 9.4.7

Como funciona a atualização de componentes

Arquivos executáveis, bibliotecas Python e R são atualizados quando você vincula uma instalação existente do Python e R ao Servidor de Aprendizado de Máquina.

A associação é executada pelo instalador do Microsoft Machine Learning Server quando você executa a Instalação em uma instância existente do mecanismo de banco de dados do SQL Server com integração Python ou R.

A Instalação deteta os recursos existentes e solicita que você vincule novamente ao Servidor de Aprendizado de Máquina.

Durante a vinculação, o conteúdo de C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES e \PYTHON_SERVICES é substituído pelos arquivos executáveis mais recentes e bibliotecas de C:\Program Files\Microsoft\ML Server\R_SERVER e \PYTHON_SERVER.

A vinculação aplica-se apenas aos recursos Python e R. Os pacotes de código aberto para Python e R consistem em:

  • Anaconda
  • Microsoft R Aberto
  • Pacotes proprietários RevoScaleR
  • Revoscalepy

A associação não altera o modelo de suporte para a instância do mecanismo de banco de dados ou a versão do SQL Server.

A ligação é reversível. Você pode reverter para o serviço do SQL Server desvinculando a instância e reparando a instância do mecanismo de banco de dados do SQL Server.

Vincular ao Servidor de Aprendizado de Máquina usando a Instalação

Siga as etapas para vincular o SQL Server ao Microsoft Machine Learning Server usando a instalação.

  1. No SSMS, execute SELECT @@version para verificar se o servidor atende aos requisitos mínimos de compilação.

    Para SQL Server 2016 R Services, o mínimo é Service Pack 1 com CU3.

  2. Verifique a versão dos pacotes R base e RevoScaleR para confirmar se as versões existentes são inferiores às que você planeja substituí-las.

    EXECUTE sp_execute_external_script
    @language=N'R'
    ,@script = N'str(OutputDataSet);
    packagematrix <- installed.packages();
    Name <- packagematrix[,1];
    Version <- packagematrix[,3];
    OutputDataSet <- data.frame(Name, Version);'
    , @input_data_1 = N''
    WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))
    
  3. Feche o SSMS e quaisquer outras ferramentas que tenham uma conexão aberta com o SQL Server. A vinculação substitui os arquivos de programa. Se o SQL Server tiver sessões abertas, a associação falhará com o código de erro de associação 6.

  4. Transfira o Microsoft Machine Learning Server para o computador que tem a instância que pretende atualizar. Recomendamos a versão mais recente.

  5. Descompacte a pasta e inicie ServerSetup.exe, localizado em MLSWIN93.

  6. Em Configurar a instalação, confirme os componentes a serem atualizados e revise a lista de instâncias compatíveis.

  7. Na página Contrato de licença , selecione Aceito estes termos para aceitar os termos de licenciamento do Servidor de Aprendizado de Máquina.

  8. Em páginas sucessivas, forneça consentimento para condições de licenciamento adicionais para quaisquer componentes de código aberto selecionados, como o Microsoft R Open ou a distribuição Python Anaconda.

  9. Na página Quase lá , anote a pasta de instalação. A pasta padrão é \Program Files\Microsoft\ML Server.

    Se desejar alterar a pasta de instalação, selecione Avançado para retornar à primeira página do assistente. No entanto, você deve repetir todas as seleções anteriores.

Se a atualização falhar, verifique os códigos de erro SqlBindR para obter mais informações.

Ligação offline (sem acesso à Internet)

Para sistemas sem conectividade com a Internet, você pode baixar o instalador e .cab arquivos para uma máquina conectada à Internet e, em seguida, transferir arquivos para o servidor isolado.

O instalador (ServerSetup.exe) inclui os pacotes Microsoft (RevoScaleR, MicrosoftML, olapR, sqlRUtils). Os arquivos .cab fornecem outros componentes principais. Por exemplo, a cabine "SRO" fornece R Open, a distribuição da Microsoft de código aberto R.

As instruções a seguir explicam como colocar os arquivos para uma instalação offline.

  1. Faça o download do MLSWIN93 Installer. Ele é baixado como um único arquivo compactado. Recomendamos a versão mais recente, mas você também pode instalar versões anteriores.

  2. Transfira .cab ficheiros. Os links a seguir são para a versão 9.3. Se você precisar de versões anteriores, links adicionais podem ser encontrados no R Server 9.1. Lembre-se de que o Python/Anaconda só pode ser adicionado a uma instância do SQL Server Machine Learning Services. Existem modelos pré-treinados para Python e R; O .cab fornece modelos nos idiomas que você está usando.

    Característica Baixar
    R SRO_3.4.3.0_1033.cab
    Píton SPO_9.3.0.0_1033.cab
    Modelos pré-treinados MLM_9.3.0.0_1033.cab
  3. Transfira .zip e .cab arquivos para o servidor de destino.

  4. No servidor, digite %temp% o comando Executar para obter o local físico do diretório temporário. O caminho físico varia de acordo com a máquina, mas geralmente C:\Users\<your-user-name>\AppData\Local\Tempé .

  5. Coloque os arquivos .cab na pasta %temp%.

  6. Descompacte o instalador.

  7. Execute ServerSetup.exe e siga as instruções na tela para concluir a instalação.

Operações de linha de comando

Sugestão

Não consegue encontrar SqlBindR? Você provavelmente não executou a instalação. SqlBindR está disponível somente depois de executar a Instalação do Servidor de Aprendizado de Máquina.

  1. Abra um prompt de comando como administrador e navegue até a pasta que contém sqlbindr.exe. O local padrão é C:\Program Files\Microsoft\MLServer\Setup

  2. Digite o seguinte comando para exibir uma lista de instâncias disponíveis: SqlBindR.exe /list

    Anote o nome completo da instância conforme listado. Por exemplo, o nome da instância pode ser MSSQL14. MSSQLSERVER para uma instância padrão ou algo como SERVERNAME. MYNAMEDINSTANCE.

  3. Execute SqlBindR.exe comando com o argumento /bind . Especifique o nome da instância a ser atualizada, usando o nome da instância que foi retornado na etapa anterior.

    Por exemplo, para atualizar a instância padrão, digite: SqlBindR.exe /bind MSSQL14.MSSQLSERVER

  4. Quando a atualização for concluída, reinicie o serviço Launchpad associado a qualquer instância que tenha sido modificada.

Reverter ou desvincular uma instância

Você pode restaurar uma instância acoplada para uma instalação inicial dos componentes Python e R, estabelecida pela Instalação do SQL Server. Há três partes para reverter para a manutenção do SQL Server.

Passo 1: Desvincular

Você tem duas opções para reverter a ligação: executar novamente a instalação ou usar o utilitário de linha de comando SqlBindR.

Desvincular usando a Instalação

  1. Localize o instalador do Servidor de Aprendizado de Máquina. Se você removeu o instalador, talvez seja necessário baixá-lo novamente ou copiá-lo de outro computador.
  2. Certifique-se de executar o instalador no computador que tem a instância que você deseja desvincular.
  3. O instalador identifica instâncias locais que são candidatas a desvinculação.
  4. Desmarque a caixa de seleção ao lado da instância que você deseja reverter para a configuração original.
  5. Aceite todos os contratos de licenciamento.
  6. Selecione Concluir. O processo demora um pouco.

Desvincular usando a linha de comando

  1. Abra um prompt de comando e navegue até a pasta que contém sqlbindr.exe, conforme descrito na seção anterior.

  2. Execute o comando SqlBindR.exe com o argumento /unbind e especifique a instância.

    Por exemplo, o comando a seguir reverte a instância padrão:

    SqlBindR.exe /unbind MSSQL14.MSSQLSERVER

Etapa 2: Reparar a instância do SQL Server

Execute a Instalação do SQL Server para reparar a instância do mecanismo de banco de dados com os recursos Python e R. As atualizações pré-existentes são preservadas. A próxima etapa se aplica se uma atualização foi perdida para as atualizações de serviço para pacotes Python e R.

Solução alternativa: desinstale e reinstale totalmente a instância do mecanismo de banco de dados e aplique todas as atualizações de serviço.

Etapa 3: Adicionar pacotes de terceiros

Você pode ter adicionado outros pacotes de código aberto ou de terceiros à sua biblioteca de pacotes. Como a inversão da vinculação alterna o local da biblioteca de pacotes padrão, você deve reinstalar os pacotes na biblioteca que Python e R estão usando agora. Para obter mais informações, consulte Informações e instalaçãodo pacote R e Informações e instalaçãodo pacote Python.

SqlBindR.exe sintaxe de comando

Utilização

sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]

Parâmetros

Nome Descrição
Lista Exibe uma lista de todas as IDs de instância do SQL Server no computador atual
ligar Atualiza a instância especificada do SQL Server para a versão mais recente do R Server e garante que a instância obtenha automaticamente atualizações futuras do R Server
desvincular Desinstala a versão mais recente do R Server da instância especificada do SQL Server e impede que futuras atualizações do R Server afetem a instância

Erros de vinculação

O Instalador do Servidor de Aprendizado de Máquina e o SqlBindR retornam os seguintes códigos de erro e mensagens.

Código de erro Mensagem Detalhes
Erro de ligação 0 Ok (sucesso) Vinculação passada sem erros.
Erro de ligação 1 Argumentos inválidos Erro de sintaxe.
Erro de ligação 2 Ação inválida Erro de sintaxe.
Erro de ligação 3 Instância inválida Uma instância existe, mas não é válida para vinculação.
Erro de ligação 4 Não vinculável
Erro de ligação 5 Já encadernado Você executou o comando bind , mas a instância especificada já está vinculada.
Erro de ligação 6 Falha na ligação Ocorreu um erro ao desvincular a instância. Este erro pode ocorrer se você executar o instalador do Servidor de Aprendizado de Máquina sem selecionar nenhum recurso. A associação requer que você selecione uma instância MSSQL e Python e R, supondo que a instância seja o SQL Server 2017. Este erro também ocorre se SqlBindR não pôde gravar na pasta Arquivos de Programas. Abrir sessões ou identificadores para o SQL Server fará com que esse erro ocorra. Se você receber esse erro, reinicie o computador e refaça as etapas de vinculação antes de iniciar novas sessões.
Erro de ligação 7 Não vinculado A instância do mecanismo de banco de dados tem R Services ou SQL Server Machine Learning Services. A instância não está vinculada ao Microsoft Machine Learning Server.
Erro de ligação 8 Falha na desvinculação Ocorreu um erro ao desvincular a instância.
Erro de ligação 9 Nenhuma ocorrência encontrada Nenhuma instância do mecanismo de banco de dados foi encontrada neste computador.

Problemas conhecidos

Esta seção lista problemas conhecidos específicos ao uso do utilitário SqlBindR.exe ou a atualizações do Servidor de Aprendizado de Máquina que podem afetar instâncias do SQL Server.

Restaurando pacotes que foram instalados anteriormente

SqlBindR.exe falha ao restaurar pacotes originais ou componentes R com a atualização para o Microsoft R Server 9.0.1. Use o reparo do SQL Server na instância e aplique todas as versões de serviço. Reinicie a instância.

A versão posterior do SqlBindR restaura automaticamente os recursos R originais, eliminando a necessidade de reinstalação de componentes R ou repatch do servidor. No entanto, você deve instalar todas as atualizações de pacote R que possam ter sido adicionadas após a instalação inicial.

Use comandos R para sincronizar pacotes instalados com o sistema de arquivos usando registros no banco de dados. Para obter mais informações, consulte Gerenciamento de pacotes R para SQL Server.

Problemas com arquivo sqlbinr.ini substituído no SQL Server

Cenário: Esse problema ocorre ao vincular o Machine Learning Server 9.4.7 ao SQL Server 2017. Quando o Python é atualizado e vinculado ou quando você atualiza para uma nova, ele não entende que o Python está vinculado e substitui arquivos. Não há um problema conhecido com R.

Como solução alternativa, crie um sqlbindr.ini arquivo no diretório PYTHON_SERVICES que não esteja vazio. O conteúdo não afeta o funcionamento do arquivo.

Crie um sqlbindr.ini arquivo, contendo 9.4.7.82, salve neste local:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Problemas com várias atualizações do SQL Server

Cenário: instância atualizada anteriormente do SQL Server 2016 R Services para 9.0.1. Executado o novo instalador para o Microsoft R Server 9.1.0. O instalador exibe uma lista de todas as instâncias válidas. Por padrão, o instalador seleciona instâncias previamente vinculadas. Se você continuar, as instâncias vinculadas anteriormente serão desvinculadas. O resultado é que a instalação anterior 9.0.1 é removida e todos os pacotes relacionados, mas a nova versão do Microsoft R Server (9.1.0) não está instalada.

Como solução alternativa, você pode modificar a instalação existente do R Server da seguinte maneira:

  1. No Painel de Controlo, abra Adicionar ou Remover Programas.
  2. Localize o Microsoft R Server e selecione Alterar/Modificar.
  3. Quando o instalador for iniciado, selecione as instâncias às quais deseja vincular a 9.1.0.

Microsoft Machine Learning Server 9.2.1 e 9.3 não têm esse problema.

A vinculação ou desvinculação deixa várias pastas temporárias

Remova pastas temporárias após a conclusão da instalação.

Observação

Certifique-se de aguardar até que a instalação seja concluída. Pode levar muito tempo para remover bibliotecas R associadas a uma versão e, em seguida, adicionar as novas bibliotecas R. Quando a operação é concluída, as pastas temporárias são removidas.

Ver também