Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
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).
Inicie o assistente de Instalação do SQL Server 2022.
Na guia Instalação , selecione Nova instalação autônoma do SQL Server ou adicione recursos a uma instalação existente.
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).
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
Transfira e instale a versão mais recente da R 4.2 para Windows.
Instale dependências para
CompatibilityAPIeRevoScaleR. 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")Baixe e instale a versão mais recente do
CompatibilityAPIeRevoScaleRpacotes: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
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 éMSSQLSERVERpara 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"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 OVERRIDESe você já tiver ativado o recurso para outro idioma, não precisará executar
RECONFIGUREuma segunda vez para R. A plataforma de extensibilidade subjacente suporta ambos os idiomas. Para verificar, confirme se o seguinte comando retorna1paraconfig_valueerun_value:EXEC sp_configure 'external scripts enabled';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.
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
Baixe a versão mais recente do Python 3.10 para Windows. Instale-o usando as seguintes opções:
Abra o aplicativo Python Setup e selecione Personalizar instalação.
Verifique se a caixa de seleção Instalar iniciador para todos os usuários (recomendado) está marcada.
Em Recursos opcionais, selecione os recursos desejados (ou selecione todos).
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.
Baixe e instale a versão mais recente do
revoscalepypacote 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.whlExecute 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 /TSe 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
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 éMSSQLSERVERpara 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"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 OVERRIDESe você já tiver ativado o recurso para outro idioma, não precisará executar
RECONFIGUREuma segunda vez para R. A plataforma de extensibilidade subjacente suporta ambos os idiomas. Para verificar, confirme se o seguinte comando retorna1paraconfig_valueerun_value:EXEC sp_configure 'external scripts enabled';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.
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:
- Configuração da firewall para o SQL Server Machine Learning Services
- Habilitar ou desabilitar um protocolo de rede de servidor
- Configuração do Server: acesso remoto
- Criar um login para SQLRUserGroup
- Gerencie cotas de disco para impedir que scripts externos executem tarefas que esgotam espaço em disco
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.
Para configurar um pool de recursos para gerenciar recursos externos, consulte CREATE EXTERNAL RESOURCE POOL (Transact-SQL).
Para alterar a quantidade de memória reservada para o banco de dados, consulte Opções de configuração de memória do servidor.
Para alterar o número de contas R que a Barra Inicial do SQL Server pode iniciar, consulte Dimensionar a execução simultânea de scripts externos nos Serviços de Aprendizado de Máquina 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.
Conteúdo relacionado
- Python Tutorial: Implantar um modelo de regressão linear com de aprendizado de máquina SQL
- Tutorial em Python: Categorizar clientes usando clusterização k-means com aprendizagem automática SQL
- Guia de início rápido: execute scripts R simples com o aprendizado de máquina SQL
- Tutorial de R: Prever tarifas de táxi de Nova York através de classificação binária