Partilhar via


Instalar os Serviços de Aprendizado de Máquina do SQL Server 2022 (Python e R) no Windows

Aplica-se a: SQL Server 2022 (16.x)

Este artigo mostra como instalar o SQL Server Machine Learning Services com Python e R no Windows. Você pode usar os Serviços de Aprendizado de Máquina para executar scripts Python e R no banco de dados.

Observação

Estas instruções são específicas para o SQL Server 2022 (16.x) no Windows. Para instalar os Serviços de Aprendizado de Máquina do SQL Server no Windows para SQL Server 2016 (13.x), SQL Server 2017 (14.x) ou SQL Server 2019 (15.x), consulte Instalar os Serviços de Aprendizado de Máquina do SQL Server (Python e R) no Windows.

Para Linux, consulte Instalar o SQL Server 2019 Machine Learning Services (Python e R) no Linux.

Lista de verificação de pré-instalação

  • É necessária uma instância do motor de banco de dados. Não é possível instalar apenas recursos Python ou R, embora seja possível adicioná-los incrementalmente a uma instância existente.

  • Para continuidade de negócios, os grupos de disponibilidade Always On são suportados para os Serviços de Aprendizado de Máquina. Instale os Serviços de Aprendizagem Automática e configure os pacotes em cada nó.

  • A instalação dos Serviços de Aprendizagem Automática também é suportada em instâncias de cluster de failover Always On no SQL Server 2019 e posteriores.

  • Não instale os Serviços de Aprendizado de Máquina em um controlador de domínio. A parte de configuração dos Serviços de Aprendizado de Máquina falhará.

  • A instalação lado a lado com outras versões do Python e R é suportada, mas não a recomendamos. Ele é suportado porque a instância do SQL Server usa suas próprias cópias das distribuições R e Anaconda de código aberto. Não recomendamos porque a execução de código que usa Python e R em um computador fora do SQL Server pode causar problemas:

    • Usar uma biblioteca diferente e arquivos executáveis diferentes criará resultados inconsistentes com o que você está executando no SQL Server.
    • O SQL Server não pode gerenciar scripts R e Python executados em bibliotecas externas, levando à contenção de recursos.

Importante

Depois de concluir a instalação, conclua as etapas de pós-configuração descritas neste artigo. Essas etapas podem incluir habilitar o SQL Server para usar scripts externos. As alterações de configuração geralmente exigem uma reinicialização da instância ou uma reinicialização do serviço Launchpad.

Obtenha a mídia de instalação

O local de download do SQL Server depende da edição:

  • edições do SQL Server Enterprise, Standard e Express. Estas edições são licenciadas para uso em produção. Para as edições Enterprise e Standard, entre em contato com o fornecedor do software para obter a mídia de instalação. Você pode encontrar informações sobre compras e um diretório de parceiros da Microsoft no site de compras da Microsoft.

  • A última edição gratuita.

Executar a configuração

Para instalações locais, você deve executar a instalação como administrador. Se você instalar o SQL Server a partir de um compartilhamento remoto, deverá usar uma conta de domínio que tenha permissões de leitura e execução no compartilhamento remoto.

Se você encontrar algum erro de instalação durante a instalação, verifique o log de resumo na pasta de log do Setup Bootstrap (por exemplo, %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt).

  1. Inicie o assistente de Instalação do SQL Server 2022.

  2. Na guia Instalação , selecione Nova instalação autônoma do SQL Server ou adicione recursos a uma instalação existente.

  3. Na página Seleção de Recursos , selecione estas opções:

    • Serviços do Mecanismo de Banco de Dados

      Para usar R ou Python com o SQL Server, você deve instalar uma instância do mecanismo de banco de dados. Você pode usar uma instância padrão ou nomeada.

    • Serviços de Machine Learning e Linguagem

      Esta opção instala os serviços de banco de dados que suportam a execução de scripts R e Python.

    Esta captura de tela mostra os recursos mínimos de instância a serem verificados quando você estiver instalando os Serviços de Aprendizado de Máquina do SQL Server 2022 (16.x).

    Captura de tela da seleção de recursos mostrando caixas de seleção ao lado de Serviços do Mecanismo de Banco de Dados e Serviços de Aprendizado de Máquina e Idioma.

Instalar tempos de execução e pacotes

A partir do SQL Server 2022 (16.x), os tempos de execução para R, Python e Java não são mais enviados ou instalados com a instalação do SQL Server. Em vez disso, use as seções a seguir para instalar seus tempos de execução e pacotes personalizados.

Configuração do suporte R

Instalar o ambiente de execução do R

  1. Transfira e instale a versão mais recente da R 4.2 para Windows.

  2. Instale dependências para CompatibilityAPI e RevoScaleR. A partir do terminal R da versão que instalou, execute os seguintes comandos:

    # R Terminal
    install.packages("iterators")
    install.packages("foreach")
    install.packages("R6")
    install.packages("jsonlite")
    
  3. Baixe e instale a versão mais recente do CompatibilityAPI e RevoScaleR pacotes:

    install.packages("https://aka.ms/sqlml/r4.2/windows/CompatibilityAPI_1.1.0.zip", repos=NULL)
    
    install.packages("https://aka.ms/sqlml/r4.2/windows/RevoScaleR_10.0.1.zip", repos=NULL)
    

Configurar o tempo de execução do R com o SQL Server

  1. Configure o tempo de execução do R instalado com o SQL Server. Você pode alterar a versão padrão usando o utilitário de linha de comando RegisterRext.exe. O utilitário está em uma pasta de aplicativo R que depende da instalação. Normalmente, está em %ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64.

    Você pode usar o script a seguir para configurar o tempo de execução do R instalado a partir do local da pasta de instalação do RegisterRext.exe. O nome da instância é MSSQLSERVER para uma instância padrão do SQL Server ou o nome da instância para uma instância nomeada do SQL Server.

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"MSSQLSERVER"
    

    Se você estiver configurando uma instância nomeada do SQL Server que normalmente se referiria como ".\SQLEXPRESS" ou "MACHINENAME\SQLEXPRESS", inclua apenas o nome da instância. Por exemplo:

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"
    
  2. Use o SQL Server Management Studio (SSMS) para se ligar à instância onde instalou os Serviços de Aprendizagem Automática do SQL Server. Selecione Nova Consulta para abrir uma janela de consulta e execute o seguinte comando para habilitar o recurso de script externo:

    EXEC sp_configure  'external scripts enabled', 1;
    RECONFIGURE WITH OVERRIDE
    

    Se você já tiver ativado o recurso para outro idioma, não precisará executar RECONFIGURE uma segunda vez para R. A plataforma de extensibilidade subjacente suporta ambos os idiomas. Para verificar, confirme se o seguinte comando retorna 1 para config_value e run_value:

    EXEC sp_configure  'external scripts enabled';
    
  3. Reinicie o serviço SQL Server. A reinicialização do serviço também reinicia automaticamente o serviço Launchpad relacionado do SQL Server.

    Você pode reiniciar o serviço usando o comando Reiniciar com o botão direito do mouse para a instância no Pesquisador de Objetos do SSMS, usando o item Serviços no Painel de Controle ou usando o SQL Server Configuration Manager.

  4. Verifique a instalação executando um comando T-SQL simples para retornar a versão do R:

    EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R';
    GO
    

Configuração de suporte para Python

Instalar o ambiente de execução Python

  1. Baixe a versão mais recente do Python 3.10 para Windows. Instale-o usando as seguintes opções:

    1. Abra o aplicativo Python Setup e selecione Personalizar instalação.

    2. Verifique se a caixa de seleção Instalar iniciador para todos os usuários (recomendado) está marcada.

    3. Em Recursos opcionais, selecione os recursos desejados (ou selecione todos).

    4. Na página Opções Avançadas , selecione Instalar para todos os utilizadores, aceite outras opções predefinidas e, em seguida, selecione Instalar.

      Recomendamos o uso de um caminho de instalação do Python que todos os usuários possam acessar (como C:\Program Files\Python310), e não um que seja específico para um único usuário.

  2. Baixe e instale a versão mais recente do revoscalepy pacote e suas dependências a partir de um novo prompt de comando elevado:

    cd "C:\Program Files\Python310\"
    python -m pip install -t "C:\Program Files\Python310\Lib\site-packages" dill numpy==1.22.0 pandas patsy python-dateutil packaging
    python -m pip install -t "C:\Program Files\Python310\Lib\site-packages" https://aka.ms/sqlml/python3.10/windows/revoscalepy-10.0.1-py3-none-any.whl
    

    Execute os seguintes comandos icacls para conceder acesso READ e EXECUTE às bibliotecas instaladas ao SQL Server Launchpad Service e SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES). Você precisa conceder permissões à conta de serviço associada ao serviço Barra Inicial, verifique no SQL Server Configuration Manager.

    icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
    icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

    Se você instalou o SQL Server como uma instância nomeada, a conta de serviço pode ter um $ no meio, por exemplo:

    icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD$SQLEXPRESS":(OI)(CI)RX /T
    icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

Configurar o tempo de execução do Python com o SQL Server

  1. Configure o tempo de execução do Python instalado com o SQL Server. Você pode alterar a versão padrão usando o utilitário de linha de comando RegisterRext.exe. O utilitário está no local de instalação personalizado (por exemplo, C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs).

    Num prompt de comando elevado, é possível usar o script a seguir para configurar o ambiente de execução do Python instalado a partir do local da pasta de instalação do RegisterRext.exe. O nome da instância é MSSQLSERVER para uma instância padrão do SQL Server ou o nome da instância para uma instância nomeada do SQL Server.

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"MSSQLSERVER"
    

    Se você estiver configurando uma instância nomeada do SQL Server que normalmente se referiria como ".\SQLEXPRESS" ou "MACHINENAME\SQLEXPRESS", inclua apenas o nome da instância. Por exemplo:

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"
    
  2. Use o SQL Server Management Studio (SSMS) para se ligar à instância onde instalou os Serviços de Aprendizagem Automática do SQL Server. Selecione Nova Consulta para abrir uma janela de consulta e execute o seguinte comando para habilitar o recurso de script externo:

    EXEC sp_configure  'external scripts enabled', 1;
    RECONFIGURE WITH OVERRIDE
    

    Se você já tiver ativado o recurso para outro idioma, não precisará executar RECONFIGURE uma segunda vez para R. A plataforma de extensibilidade subjacente suporta ambos os idiomas. Para verificar, confirme se o seguinte comando retorna 1 para config_value e run_value:

    EXEC sp_configure  'external scripts enabled';
    
  3. Reinicie o serviço SQL Server. A reinicialização do serviço também reinicia automaticamente o serviço Launchpad relacionado do SQL Server.

    Você pode reiniciar o serviço usando o comando Reiniciar com o botão direito do mouse para a instância no Pesquisador de Objetos do SSMS, usando o item Serviços no Painel de Controle ou usando o SQL Server Configuration Manager.

  4. Verifique a instalação executando um comando simples para retornar a versão do Python:

    EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python'
    GO
    

Instalar o Java

Para obter informações sobre como instalar e usar o Java, consulte Instalar o SQL Server Java Language Extension no Windows.

Configuração adicional

Se a etapa de verificação de script externo tiver sido bem-sucedida, você poderá executar comandos R ou Python do SQL Server Management Studio, Visual Studio Code ou qualquer outro cliente que possa enviar instruções T-SQL para o servidor.

Se a configuração adicional é necessária depende do seu esquema de segurança, onde você instalou o SQL Server e como você espera que os usuários se conectem ao banco de dados e executem scripts externos.

Se você recebeu um erro ao executar o comando, talvez seja necessário fazer configurações adicionais para o serviço ou banco de dados. No nível da instância, as configurações adicionais podem incluir:

A partir do SQL Server 2019 no Windows, o mecanismo de isolamento foi alterado. Esse mecanismo afeta SQLRUserGroup, regras de firewall, permissão de arquivo e autenticação implícita. Para obter mais informações, consulte SQL Server no Windows: alterações de isolamento para Serviços de Aprendizado de Máquina.

No banco de dados, talvez você precise de atualizações de configuração. Para obter mais informações, consulte Conceder permissão aos usuários do banco de dados para executar scripts Python e R com os Serviços de Aprendizado de Máquina do SQL Server.

Otimizações sugeridas

Agora que você tem tudo funcionando, você também pode querer otimizar o servidor para suportar o aprendizado de máquina ou instalar um modelo de aprendizado de máquina pré-treinado.

Otimizar o servidor para execução de scripts

As configurações padrão para a instalação do SQL Server destinam-se a otimizar o equilíbrio do servidor para vários outros serviços e aplicativos.

Nas configurações padrão, os recursos para aprendizado de máquina às vezes são restritos ou limitados, particularmente em operações que consomem muita memória.

Para garantir que os trabalhos de aprendizado de máquina sejam priorizados e dotados de recursos adequados, recomendamos que você use o Administrador de Recursos do SQL Server para configurar um pool de recursos externos. Você também pode querer alterar a quantidade de memória alocada para o mecanismo de banco de dados do SQL Server ou aumentar o número de contas executadas no serviço Barra Inicial do SQL Server.

Se você estiver usando o Standard Edition e não tiver o Administrador de Recursos, poderá usar modos de exibição de gerenciamento dinâmico, Eventos Estendidos do SQL Server e monitoramento de eventos do Windows para ajudar a gerenciar os recursos do servidor.

Instalar pacotes Python e R adicionais

As soluções Python e R que você cria para o SQL Server podem chamar:

  • Funções básicas.
  • Funções dos pacotes proprietários instalados com o SQL Server.
  • Pacotes de terceiros que são compatíveis com a versão de código aberto Python e R que o SQL Server instala.

Os pacotes que você deseja usar do SQL Server devem ser instalados na biblioteca padrão usada pela instância. Se você tiver uma instalação separada do Python ou R no computador, ou se tiver instalado pacotes em bibliotecas de usuários, não poderá usar esses pacotes do T-SQL.

Para instalar e gerenciar pacotes adicionais, você pode configurar grupos de usuários para compartilhar pacotes em um nível por banco de dados. Ou você pode configurar funções de banco de dados para permitir que os usuários instalem seus próprios pacotes. Para obter mais informações, consulte Instalar pacotes Python com sqlmlutils e Instalar pacotes R com sqlmlutils.

Pacotes RevoScale autônomos para Python e R runtime

Os pacotes RevoScale também são suportados em forma de pacote autónomo com ambientes de execução Python e R. Para configurar o tempo de execução Python ou R para o cenário autônomo, siga as instruções nas seções Install Python runtime e Install R runtime , respectivamente.