Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x)
Este artigo mostra como instalar SQL Server Machine Learning Services no Windows. Você pode usar Machine Learning Services para executar scripts Python e R no banco de dados.
Importante
Essas instruções se aplicam a SQL Server 2016 (13.x), SQL Server 2017 (14.x) e SQL Server 2019 (15.x). Para SQL Server 2022 (16.x), consulte Install SQL Server 2022 Machine Learning Services on Windows.
referência de versão de Python e R
A tabela a seguir mostra as versões de runtime Python e R incluídas em cada versão SQL Server. Use esta tabela para determinar quais versões de idioma estão disponíveis para sua instância de SQL Server.
| SQL Server versão | Python versão | Versão do R |
|---|---|---|
| SQL Server 2016 (13.x) | N/A (somente R) | 3.2.2 |
| SQL Server RTM 2017 (14.x) – CU21 | 3.5.2 | 3.3.3 |
| SQL Server 2017 (14.x) CU22 e posterior | 3.5.2 e 3.7.2 | 3.3.3 e 3.5.2 |
| SQL Server 2019 (15.x) | 3.7.1 | 3.5.2 |
| SQL Server 2022 (16.x) | 3.10.2 | 4.2.0 |
Observação
A partir do SQL Server 2022 (16.x), os runtimes para R, Python e Java não estão mais instalados durante a instalação do SQL Server. Em vez disso, instale os runtimes e pacotes personalizados desejados. Para obter mais informações, consulte Install SQL Server 2022 Machine Learning Services on Windows.
Para obter mais informações sobre todas as versões com suporte, consulte O que é SQL Server Machine Learning Services?
Lista de verificação de pré-instalação
Uma instância do mecanismo de banco de dados é necessária. Você não pode instalar apenas recursos de Python ou R, embora possa adicioná-los incrementalmente a uma instância autônoma existente.
Para a continuidade dos negócios, grupos de disponibilidade Always On são suportados para serviços de Machine Learning. Instale os Serviços de Aprendizado de Máquina e configure os pacotes em cada nó.
Não há suporte para a instalação de Machine Learning Services em uma instância de cluster de failover Always On no SQL Server 2017. Há suporte para o SQL Server 2019 e posterior. Você deve instalar Machine Learning Services no momento da instalação e os recursos não podem ser adicionados a uma instância de cluster de failover existente uma vez instalada.
Não instale Machine Learning Services em um controlador de domínio. A parte Machine Learning Services da instalação falhará.
Não instale Shared Features>Machine Learning Server (Autônomo) no mesmo computador que executa uma instância de banco de dados. Um servidor autônomo competirá pelos mesmos recursos, prejudicando o desempenho das duas instalações.
Há suporte para a instalação lado a lado com outras versões do Python e do R, mas não recomendamos isso. É suportada 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 isso porque a execução de código que usa Python e R em um computador fora SQL Server pode levar a problemas:
- Usar uma biblioteca diferente e arquivos executáveis diferentes criará resultados inconsistentes com o que você está executando em SQL Server.
- SQL Server não pode gerenciar scripts de R e Python executados em bibliotecas externas, levando à contenção de recursos.
Observação
Machine Learning Services é instalado por padrão no SQL Server Big Data Clusters. Não será preciso seguir as etapas deste artigo se você usar um cluster de Big Data. Para obter mais informações, consulte Use Machine Learning Services (Python e R) no Big Data Clusters.
Importante
Após a conclusão da instalação, conclua as etapas de pós-configuração descritas neste artigo. Essas etapas incluem habilitar SQL Server usar scripts externos e adicionar contas necessárias para SQL Server executar trabalhos de R e Python em seu nome. Geralmente, as alterações na configuração exigem uma reinicialização da instância ou do serviço Launchpad.
Obtenha a mídia de instalação
O local de download para SQL Server depende da edição:
SQL Server edições Enterprise, Standard e Express. Essas edições são licenciadas para uso em produção. Para as edições Enterprise e Standard, entre em contato com seu fornecedor de software para obter a mídia de instalação. Você pode encontrar informações de compra e um diretório de parceiros da Microsoft no site de compras da Microsoft.
Para obter mais informações sobre quais edições SQL Server dão suporte à integração Python e R com Machine Learning Services, consulte Editions e recursos com suporte do SQL Server 2017.
Para obter mais informações sobre quais edições SQL Server dão suporte à integração de Python e R com Machine Learning Services, consulte Editions e recursos com suporte do SQL Server 2019.
Executar a instalação
Em instalações locais, você deve executar a instalação como um administrador. Se você instalar SQL Server de um compartilhamento remoto, deverá usar uma conta de domínio que tenha permissões de leitura e execução no compartilhamento remoto.
Inicie o assistente de instalação para SQL Server.
Na guia Installation, selecione Novo SQL Server instalação autônoma ou adicione recursos a uma instalação existente.
Na página Seleção de Recursos , selecione estas opções:
Database Engine Services
Para usar r e Python com SQL Server, você deve instalar uma instância do mecanismo de banco de dados. Você pode usar uma instância padrão ou uma nomeada.
Machine Learning Services (In-Database)
Essa opção instala os serviços de banco de dados que dão suporte à execução de script de R e Python.
Database Engine Services
Para usar r ou Python com SQL Server, você deve instalar uma instância do mecanismo de banco de dados. Você pode usar uma instância padrão ou uma nomeada.
Machine Learning Services and Language Extension
Essa opção instala os serviços de banco de dados que dão suporte à execução de script de R e Python.
R
Selecione esta opção para adicionar os pacotes do Microsoft R, o interpretador e o R de código aberto.
Python
Selecione essa opção para adicionar os pacotes do Microsoft Python, o executável Python e selecionar bibliotecas na distribuição anaconda. Para a versão específica do Python incluída na sua edição do SQL Server, consulte Referência de versão do Python e R.
Para obter informações sobre como instalar e usar Java, consulte Instalar a Extensão de Linguagem SQL Server Java em Windows.
Observação
Não selecione a opção Machine Learning Server (Autônomo) em Shared Features. Essa opção destina-se a uso em um computador separado.
Na página Consentimento para instalar o Microsoft R Open, selecione Aceitar>Avançar.
O contrato de licença abrange:
- Microsoft R Open.
- Pacotes e ferramentas de base do R de código aberto.
- Pacotes R aprimorados e provedores de conectividade da equipe de desenvolvimento da Microsoft.
Na página Consent to Install Python, selecione Accept>Next. O Python contrato de licença de software livre também abrange o Anaconda e ferramentas relacionadas, além de algumas novas bibliotecas de Python da equipe de desenvolvimento da Microsoft.
Observação
Se o computador usado não tiver acesso à Internet, você poderá pausar a instalação neste ponto para baixar os instaladores separadamente. Para obter mais informações, confira Instalar componentes de machine learning sem acesso à Internet.
Na página Pronto para instalar, verifique se essas seleções estão incluídas e selecione Instalar:
- Serviços de Mecanismo de Banco de Dados
- Machine Learning Services (integrados ao banco de dados)
- R, Python ou ambos
Observação da localização da pasta no caminho
..\Setup Bootstrap\Logem que os arquivos de configuração são armazenados. Quando a instalação for concluída, você poderá examinar os componentes instalados no arquivo de resumo.Após a conclusão da instalação, se você receber instruções para reiniciar o computador, faça-o. É importante ler a mensagem do Assistente de Instalação ao concluir a instalação. Para obter mais informações, consulte Visualizar e ler arquivos de log da instalação do SQL Server.
Na página Consentimento para instalar o Microsoft R Open, selecione Aceitar>Avançar. Este contrato de licença abrange o Microsoft R Open, que inclui uma distribuição de pacotes e ferramentas base do R de código aberto. Ele também inclui pacotes aprimorados do R e provedores de conectividade da equipe de desenvolvimento da Microsoft.
Na página Consent to Install Python, selecione Accept>Next. O Python contrato de licença de software livre também abrange o Anaconda e ferramentas relacionadas, além de algumas novas bibliotecas de Python da equipe de desenvolvimento da Microsoft.
Na página Pronto para instalar, verifique se essas seleções estão incluídas e selecione Instalar:
- Serviços de Mecanismo de Banco de Dados
- Serviços de Machine Learning (em banco de dados)
- R, Python ou ambos
Observação da localização da pasta no caminho
..\Setup Bootstrap\Logem que os arquivos de configuração são armazenados. Quando a instalação for concluída, você poderá examinar os componentes instalados no arquivo de resumo.Após a conclusão da instalação, se você receber instruções para reiniciar o computador, faça-o. É importante ler a mensagem do assistente de instalação ao concluir a instalação. Para obter mais informações, consulte Visualizar e ler arquivos de log de instalação do SQL Server.
Definir variáveis de ambiente
Somente para a integração de recursos do R, é necessário definir a variável de ambiente MKL_CBWR para garantir a saída consistente dos cálculos da Intel MKL (Math Kernel Library):
Em Painel de Controle, selecione Sistema e Segurança>Sistema>Configurações Avançadas do Sistema>Variáveis de Ambiente.
Crie uma variável de usuário ou do sistema:
- Defina o nome da variável como
MKL_CBWR. - Defina o valor da variável como
AUTO.
- Defina o nome da variável como
Esta etapa requer uma reinicialização do servidor. Se estiver prestes a habilitar a execução de script, você poderá manter a reinicialização até que todo o trabalho de configuração seja concluído.
Habilitar a execução do script
Use SQL Server Management Studio (SSMS) para se conectar à instância em que você instalou o SQL Server Machine Learning Services.
Selecione Nova Consulta para abrir uma janela de consulta e execute o seguinte comando:
EXEC sp_configureO valor da propriedade
external scripts enableddeve ser0neste momento. O recurso é desativado por padrão. Para ativá-lo para que você possa executar scripts R ou Python, execute a seguinte instrução:EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDESe você já tiver habilitado o recurso para a linguagem R, não precisará executar
RECONFIGUREuma segunda vez para Python. A plataforma de extensibilidade subjacente dá suporte às duas linguagens.
Reinicie o serviço.
Quando a instalação estiver concluída, reinicie o mecanismo de banco de dados. Reiniciar o serviço também reinicia automaticamente o serviço do Launchpad SQL Server relacionado.
Você pode reiniciar o serviço usando qualquer um desses métodos:
- O comando Restart com o botão direito do mouse para a instância no Object Explorer no SSMS
- O item Services Microsoft Management Console (MMC) no Painel de Controle
- SQL Server Configuration Manager
Verifique a instalação
Use as seguintes etapas para verificar se todos os componentes usados para iniciar os scripts externos estão em execução:
Em SQL Server Management Studio, abra uma nova janela de consulta e execute o seguinte comando:
EXECUTE sp_configure 'external scripts enabled'Então,
run_valueé definido como1.Abra o item do painel de controle Services ou o SQL Server Configuration Manager e verifique se o serviço SQL Server Launchpad está em execução. Você deve ter um serviço para cada instância do mecanismo de banco de dados que tenha R ou Python instalado. Para obter mais informações sobre o serviço, consulte Extensibility architecture in SQL Server Machine Learning Services.
Se o Launchpad estiver em execução, você poderá executar scripts Python e R simples para verificar se os ambientes de execução de scripts externos podem se comunicar com o SQL Server.
Abra uma nova janela Query em SQL Server Management Studio e execute um script como:
Para o R:
EXEC sp_execute_external_script @language =N'R', @script=N' OutputDataSet <- InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GOPara Python:
EXEC sp_execute_external_script @language =N'Python', @script=N' OutputDataSet = InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GO
Na primeira vez que o runtime de script externo for carregado, o script poderá demorar um pouco para ser executado. Os resultados devem ser semelhantes a estes:
olá 1
Observação
Colunas ou títulos usados no script Python não são retornados automaticamente. Para adicionar nomes de coluna para a saída, você deve especificar o esquema para o conjunto de dados de retorno. Faça isso usando o parâmetro WITH RESULTS do procedimento armazenado, nomeando as colunas e especificando o tipo de dados SQL.
Por exemplo, você pode adicionar a seguinte linha para gerar um nome de coluna arbitrário: WITH RESULT SETS ((Col1 AS int)).
Aplicar atualizações
Instalação existente
Se você adicionou Serviços de Machine Learning a uma instância de SQL Server existente e já aplicou uma atualização cumulativa (CU), as versões do mecanismo de banco de dados e do recurso Serviços de Machine Learning podem ser diferentes. Essa diferença pode resultar em um comportamento ou em erros inesperados, porque launchpad.exe e sqlservr.exe têm versões diferentes.
Siga estas etapas para trazer Machine Learning Services para a mesma versão do mecanismo de banco de dados:
Determine a atualização cumulativa que você tem para o mecanismo de banco de dados. Execute esta instrução T-SQL:
SELECT @@VERSIONAqui está um exemplo de saída do SQL Server 2019 CU 8:
Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64) Nov 2 2020 18:35:09 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)Para obter mais informações, consulte Determine o nível de versão, edição e atualização de SQL Server e seus componentes.
Se necessário, baixe a atualização cumulativa que você instalou para o mecanismo de banco de dados.
Execute a instalação da atualização cumulativa e siga as instruções para instalá-la para Machine Learning Services novamente. Selecione a instância existente em que Machine Learning Services está instalado. O status da atualização mostra Instalação Incompleta na página Seleção de Recursos.
Selecione Avançar e continue com a instalação.
Nova instalação
Se você instalar os Serviços de Aprendizado de Máquina com uma nova instalação do mecanismo de banco de dados SQL Server, recomendamos que você aplique a atualização cumulativa mais recente tanto ao mecanismo de banco de dados quanto aos componentes de aprendizado de máquina.
Em dispositivos conectados à Internet, as atualizações cumulativas normalmente são aplicadas por meio de Windows Update. Mas você também pode usar as etapas a seguir para atualizações controladas. Quando você aplica a atualização para o mecanismo de banco de dados, a instalação realiza uma obtenção de atualizações cumulativas para quaisquer recursos de Python ou R instalados na mesma instância.
Em servidores desconectados, são necessárias etapas adicionais. Para obter mais informações, confira Instalar em computadores sem acesso à Internet > Aplicar atualizações cumulativas.
Comece com uma instância de linha de base já instalada: SQL Server versão inicial.
Vá para a lista de atualizações do Microsoft SQL Server.
Selecione a atualização cumulativa mais recente. Um executável é baixado e extraído automaticamente.
Execute a instalação e aceite os termos de licença.
Na página Seleção de recursos, examine os recursos para os quais as atualizações cumulativas são aplicadas. Você deve ver todos os recursos instalados para a instância atual, incluindo os recursos de aprendizado de máquina. A instalação baixa os arquivos CAB necessários para atualizar todos os recursos.
Continue com o assistente. Aceite os termos de licença para distribuições de R e Python.
Configuração adicional
Se a etapa de verificação de script externo tiver sido bem-sucedida, você poderá executar comandos R ou Python de SQL Server Management Studio, Visual Studio Code ou qualquer outro cliente que possa enviar instruções T-SQL para o servidor.
Se você tiver 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, a configuração adicional pode incluir:
- Configure um firewall para SQL Server Machine Learning Services
- Habilitar protocolos de rede adicionais
- Habilitar conexões remotas
- Criar um logon para SQLRUserGroup
- Gerenciar cotas de disco para evitar que scripts externos executem tarefas que esgotem o espaço em disco
No SQL Server 2019 em 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 Alterações de isolamento para Serviços de Machine Learning.
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 para o SQL Server Machine Learning Services.
Observação
Se a configuração adicional é necessária depende do esquema de segurança, em que você instalou SQL Server e como espera que os usuários se conectem ao banco de dados e executem scripts externos.
Otimizações sugeridas
Agora que você tem tudo funcionando, talvez você também queira otimizar o servidor para dar suporte ao aprendizado de máquina ou instalar um modelo de machine learning pré-treinado.
Adicionar mais contas de trabalho
Se você esperar que vários usuários executem scripts simultaneamente, aumente o número de contas de trabalho atribuídas ao serviço Launchpad. Para obter mais informações, consulte Escala execução simultânea de scripts externos nos Serviços SQL Server Machine Learning.
Otimizar o servidor para execução de script
As configurações padrão para a configuração do SQL Server visam otimizar o balanceamento do servidor para uma variedade de outros serviços e aplicativos.
Nas configurações padrão, os recursos de aprendizado de máquina são algumas vezes restritos ou limitados, especialmente em operações com uso intensivo de memória.
Para garantir que os trabalhos de machine learning sejam priorizados e recebam recursos adequadamente, recomendamos que você use o SQL Server Resource Governor para configurar um pool de recursos externo. Você também pode querer alterar a quantidade de memória alocada para o motor do banco de dados SQL Server ou aumentar o número de contas que são executadas sob o serviço SQL Server Launchpad.
Para configurar um pool de recursos para o gerenciamento de recursos externos, confira Criar um pool de recursos externo.
Para alterar a quantidade de memória reservada para o banco de dados, confira Opções de configuração de memória do servidor.
Para alterar o número de contas do R que o SQL Server Launchpad pode iniciar, consulte Escalar a execução simultânea de scripts externos no SQL Server Machine Learning Services.
Se você estiver usando o Standard Edition e não tiver o Resource Governor, poderá usar exibições 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 adicionais de Python e R
As soluções de Python e R que você cria para SQL Server podem chamar:
- Funções básicas.
- Funções dos pacotes proprietários instalados com SQL Server.
- Pacotes de terceiros compatíveis com a versão do Python de software livre e do R que SQL Server instala.
Os pacotes que você deseja usar de SQL Server devem ser instalados na biblioteca padrão que a instância usa. Se você tiver uma instalação separada de 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 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 novos pacotes do R.
Conteúdo relacionado
- O que é SQL Server Machine Learning Services?
- Instalar Serviços de Machine Learning do SQL Server 2022 no Windows
- Python Tutorial: implantar um modelo de regressão linear com o aprendizado de máquina do SQL
- Tutorial de Python: Categorizando clientes usando agrupamento k-means com aprendizado de máquina no SQL
- Início Rápido: Executar scripts R simples com machine learning do SQL
- Tutorial do R: Prever tarifas de táxi de NYC com classificação binária