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 2016 (13.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x)
Este artigo mostra-lhe como instalar SQL Server Machine Learning Services no Windows. Pode usar o Machine Learning Services para executar scripts em Python e R na base de dados.
Importante
Estas instruções aplicam-se ao 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 em Windows.
Referência de versões de Python e R
A tabela seguinte mostra as versões de runtime em Python e R incluídas em cada versão do SQL Server. Use esta tabela para determinar que versões de linguagem estão disponíveis para a sua instância do SQL Server.
| Versão do SQL Server | Versão em Python | Versão R |
|---|---|---|
| SQL Server 2016 (13.x) | N/A (apenas R) | 3.2.2 |
| SQL Server 2017 (14.x) RTM - CU21 | 3.5.2 | 3.3.3 |
| SQL Server 2017 (14.x) CU22 e posteriores | 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 deixaram de estar instalados com o SQL Server Setup. Em vez disso, instale os ambientes de execução e pacotes personalizados que pretende. Para mais informações, consulte Install SQL Server 2022 Machine Learning Services em Windows.
Para mais informações sobre todas as versões suportadas, consulte O que é SQL Server Machine Learning Services?
Lista de verificação de pré-instalação
É necessária uma instância do mecanismo de banco de dados. Não podes instalar apenas funcionalidades em Python ou R, embora possas adicioná-las incrementalmente a uma instância autónoma existente.
Para a continuidade do negócio, grupos de disponibilidade Always On estão disponíveis para Machine Learning Services. Instale o Machine Learning Services e configure os pacotes em cada nó.
A instalação do Machine Learning Services não é suportada numa instância de cluster de failover Always On em SQL Server de 2017. É suportado com o SQL Server 2019 e versões posteriores. Tem de instalar o Machine Learning Services no momento da instalação, e as funcionalidades não podem ser adicionadas a uma instância de cluster de failover existente uma vez instaladas.
Não instale o Machine Learning Services num controlador de domínio. A parte de Machine Learning Services da configuração vai falhar.
Não instales Shared Features>Machine Learning Server (Standalone) no mesmo computador que está a correr uma instância de base de dados. Um servidor autônomo competirá pelos mesmos recursos e diminuirá o desempenho de ambas as instalações.
A instalação lado a lado com outras versões de Python e R é suportada, mas não a recomendamos. É suportado porque a instância do SQL Server usa as suas próprias cópias das distribuições open-source R e Anaconda. Não recomendamos porque executar código que usa Python e R num computador fora do SQL Server pode causar problemas:
- Usar uma biblioteca diferente e ficheiros executáveis diferentes vai criar resultados inconsistentes com o que está a executar no SQL Server.
- O SQL Server não consegue gerir scripts em R e Python que correm em bibliotecas externas, o que leva a contenção de recursos.
Observação
O Machine Learning Services está instalado por defeito no SQL Server Big Data Clusters. Você não precisa seguir as etapas neste artigo se usar um cluster de Big Data. Para mais informações, consulte Use Machine Learning Services (Python e R) em Big Data Clusters.
Importante
Depois de concluir a instalação, conclua as etapas de pós-configuração descritas neste artigo. Estes passos incluem permitir que o SQL Server use scripts externos e adicionar contas necessárias para que o SQL Server execute trabalhos em R e Python em seu nome. 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
A localização de download do SQL Server depende da edição:
SQL Server Edições 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 de compras e um diretório de parceiros da Microsoft no site de compras da Microsoft.
Para mais informações sobre quais as edições SQL Server suportam integração Python e R com Machine Learning Services, consulte Edições e funcionalidades suportadas de SQL Server 2017.
Para mais informações sobre quais edições SQL Server suportam integração Python e R com Machine Learning Services, consulte Edições e funcionalidades suportadas de SQL Server 2019.
Executar a configuração
Para instalações locais, você deve executar a instalação como administrador. Se instalar o SQL Server a partir de uma partilha remota, deve usar uma conta de domínio que tenha permissões de leitura e execução na partilha remota.
Inicia o assistente de configuração do SQL Server.
No separador Installation, selecione Nova SQL Server instalação autónoma ou adicionar funcionalidades a uma instalação existente.
Na página Seleção de Recursos , selecione estas opções:
Serviços de Motor da Base de Dados
Para usar R e Python com SQL Server, deve instalar uma instância do motor de base de dados. Você pode usar uma instância padrão ou uma instância nomeada.
Serviços de Machine Learning (In-Database)
Esta opção instala os serviços de base de dados que suportam a execução de scripts em R e Python.
Serviços do Motor de Base de Dados
Para usar R ou Python com SQL Server, deve instalar uma instância do motor de base de dados. Você pode usar uma instância padrão ou uma instância nomeada.
Serviços de Aprendizagem Automática e Extensão de Linguagem
Esta opção instala os serviços de base de dados que suportam a execução de scripts em R e Python.
R
Selecione esta opção para adicionar os pacotes Microsoft R, interpretador e código aberto R.
Python
Selecione esta opção para adicionar os pacotes Microsoft Python, o executável Python e selecione as bibliotecas da distribuição Anaconda. Para a versão específica do Python incluída na sua versão do SQL Server, consulte a referência de versão do Python e R.
Para informações sobre a instalação e utilização de Java, consulte Install SQL Server Java Language Extension em Windows.
Observação
Não selecione a opção Machine Learning Server (Standalone) em Funcionalidades Partilhadas. Esta opção destina-se a ser utilizada num 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 R de código aberto.
- Pacotes R aprimorados e provedores de conectividade da equipe de desenvolvimento da Microsoft.
Na página Consentimento para Instalar Python, selecione Aceitar>Next. O acordo de licença open-source Python também cobre o Anaconda e ferramentas relacionadas, além de algumas novas bibliotecas Python da equipa de desenvolvimento da Microsoft.
Observação
Se o computador que você está usando não tiver acesso à Internet, você pode pausar a configuração neste momento para baixar os instaladores separadamente. Para obter mais informações, consulte Instalar componentes de aprendizado de máquina sem acesso à Internet.
Na página Pronto para Instalar , verifique se essas seleções estão incluídas e selecione Instalar:
- Serviços do Motor de Base de Dados
- Machine Learning Services (dentro da base de dados)
- R, Python, ou ambos
Observe o local da pasta sob o caminho
..\Setup Bootstrap\Logonde os arquivos de configuração estão armazenados. Quando a instalação estiver concluída, você poderá revisar os componentes instalados no arquivo de resumo.Após a conclusão da configuração, se você for instruído a reiniciar o computador, faça isso. É importante ler a mensagem do Assistente de Instalação quando terminar a configuração. Para mais informações, consulte Ver e ler os Ficheiros de Registo de Configuraçã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 dos pacotes e ferramentas base R de código aberto. Ele também inclui pacotes R aprimorados e provedores de conectividade da equipe de desenvolvimento da Microsoft.
Na página Consentimento para Instalar Python, selecione Aceitar>Next. O acordo de licença open-source Python também cobre o Anaconda e ferramentas relacionadas, além de algumas novas bibliotecas Python da equipa de desenvolvimento da Microsoft.
Na página Pronto para Instalar , verifique se essas seleções estão incluídas e selecione Instalar:
- Serviços do Motor de Base de Dados
- Machine Learning Services (dentro da base de dados)
- R, Python, ou ambos
Observe o local da pasta sob o caminho
..\Setup Bootstrap\Logonde os arquivos de configuração estão armazenados. Quando a instalação estiver concluída, você poderá revisar os componentes instalados no arquivo de resumo.Após a conclusão da configuração, se você for instruído a reiniciar o computador, faça isso. É importante ler a mensagem do assistente de instalação quando concluir a instalação. Para mais informações, consulte Ver e ler ficheiros de registo de instalação do SQL Server.
Definir variáveis de ambiente
Somente para integração de recursos R, você deve definir a variável de ambiente para garantir uma MKL_CBWRsaída consistente dos cálculos da Intel Math Kernel Library (MKL):
No Control Panel, selecione Sistema e Segurança>Sistema>Definições Avançadas do Sistema>Variáveis de Ambiente.
Crie um novo usuário ou variável de 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 você estiver prestes a habilitar a execução de script, poderá adiar a reinicialização até que todo o trabalho de configuração seja concluído.
Habilitar a execução de scripts
Use SQL Server Management Studio (SSMS) para se ligar à instância onde 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 estar0neste momento. O recurso está desativado por padrão. Para o ativar e executar scripts em R ou Python, execute a seguinte instrução:EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDESe já ativaste a funcionalidade para a linguagem R, não precisas de executar
RECONFIGUREuma segunda vez para Python. A plataforma de extensibilidade subjacente suporta ambos os idiomas.
Reiniciar 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 SQL Server Launchpad relacionado.
Você pode reiniciar o serviço usando qualquer um destes métodos:
- O comando de clique direito Reiniciar para a instância no Explorador de Objetos no SSMS
- O item Serviços da Consola de Gestão Microsoft (MMC) no Painel de Controlo
- SQL Server Configuration Manager
Verificar a instalação
Use as seguintes etapas para verificar se todos os componentes usados para iniciar scripts externos estão em execução:
No SQL Server Management Studio, abra uma nova janela de consulta e execute o seguinte comando:
EXECUTE sp_configure 'external scripts enabled'Em seguida,
run_valueé definido como1.Abra o item Serviços do painel de controlo ou o SQL Server Configuration Manager e verifique se o serviço SQL Server Launchpad está a funcionar. Deverias ter um serviço para cada instância do motor de base de dados que tenha R ou Python instalado. Para mais informações sobre o serviço, consulte Extensibility architecture in SQL Server Machine Learning Services.
Se o Launchpad estiver a correr, pode executar scripts simples em Python e R para verificar se os runtimes de scripts externos podem comunicar com o SQL Server.
Abrir uma nova janela Query em SQL Server Management Studio e depois executar um script como:
Para 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 tempo de execução do script externo é carregado, o script pode demorar um pouco para ser executado. Os resultados devem ser algo assim:
olá 1
Observação
Colunas ou cabeçalhos usados no script Python não são devolvidos automaticamente. Para adicionar nomes de coluna para sua saída, você deve especificar o esquema para o conjunto de dados de retorno. Faça isso usando o WITH RESULTS parâmetro 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 adicionou Machine Learning Services a uma instância SQL Server existente e já aplicou uma atualização cumulativa (), as versões do seu motor de base de dados e da funcionalidade Machine Learning Services podem ser diferentes. Essa diferença pode resultar em comportamento inesperado ou erros porque launchpad.exe e sqlservr.exe têm versões diferentes.
Siga estes passos para trazer o Machine Learning Services à mesma versão do seu motor de base 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 mais informações, consulte Determine a versão, edição e nível de atualização do SQL Server e dos seus componentes.
Se necessário, baixe a atualização cumulativa instalada para o mecanismo de banco de dados.
Execute a instalação da atualização cumulativa e siga as instruções para a instalar novamente para o Machine Learning Services. Selecione a instância existente onde o Machine Learning Services está instalado. O status da atualização mostra Incompletamente instalado na página Seleção de recursos .
Selecione Avançar e continue com a instalação.
Nova instalação
Se instalar o Machine Learning Services com uma nova instalação do motor de base de dados SQL Server, recomendamos que aplique a atualização cumulativa mais recente tanto ao motor de base de dados como aos componentes de machine learning.
Em dispositivos ligados à internet, as atualizações cumulativas são normalmente aplicadas através do Windows Update. Mas você também pode usar as etapas a seguir para atualizações controladas. Quando aplicas a atualização ao motor de base de dados, a configuração recolhe atualizações cumulativas para quaisquer funcionalidades em Python ou R que instalaste na mesma instância.
Servidores desconectados exigem etapas extras. Para obter mais informações, consulte Instalar em computadores sem acesso à > Internet Aplicar atualizações cumulativas.
Comece com uma instância base já instalada: versão inicial do SQL Server.
Vá à lista de atualizações para 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 da licença.
Na página Seleção de recursos , revise os recursos aos quais as atualizações cumulativas são aplicadas. Você deve ver todos os recursos instalados para a instância atual, incluindo recursos de aprendizado de máquina. A Instalação baixa os arquivos CAB necessários para atualizar todos os recursos.
Continue pelo assistente. Aceita os termos de licença para distribuições R e Python.
Configuração adicional
Se o passo de verificação de scripts externos foi bem-sucedido, pode 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 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:
- Configure um firewall para SQL Server Machine Learning Services
- Ativar protocolos de rede adicionais
- Habilitar conexões remotas
- Criar um login para SQLRUserGroup
- Gerencie cotas de disco para impedir que scripts externos executem tarefas que esgotam espaço em disco
No SQL Server 2019 em Windows, o mecanismo de isolamento mudou. Esse mecanismo afeta SQLRUserGroup, regras de firewall, permissão de arquivo e autenticação implícita. Para 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 mais informações, consulte Conceder permissão aos utilizadores para SQL Server Machine Learning Serviços.
Observação
Se a configuração adicional é necessária depende do seu esquema de segurança, do local onde instalou o SQL Server e de como espera que os utilizadores se conectem à base de dados e executem scripts externos.
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.
Adicionar mais contas de trabalhador
Se você espera que muitos usuários executem scripts simultaneamente, você pode aumentar o número de contas de trabalho atribuídas ao serviço Launchpad. Para mais informações, veja Escalar execução concorrente de scripts externos em SQL Server Machine Learning Services.
Otimizar o servidor para execução de scripts
As definições padrão para a configuração do SQL Server destinam-se a otimizar o equilíbrio do servidor para uma variedade de outros serviços e aplicações.
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 aprendizagem automática são priorizados e devidamente dotados de recursos, recomendamos que utilize SQL Server Resource Governor para configurar um pool externo de recursos. Também pode querer alterar a quantidade de memória alocada ao motor de base de dados do SQL Server, ou aumentar o número de contas que correm no serviço SQL Server Launchpad.
Para configurar um pool de recursos para gerenciar recursos externos, consulte Criar um pool de recursos externos.
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 SQL Server Launchpad pode iniciar, veja Escalar execução simultânea de scripts externos em SQL Server Machine Learning Services.
Se estiveres a usar a Standard Edition e não tiveres o Resource Governor, podes usar vistas de gestão dinâmica, SQL Server Extended Events e monitorização de eventos do Windows para ajudar a gerir os recursos do servidor.
Instale pacotes adicionais de Python e R
As soluções Python e R que cria para SQL Server podem chamar-se:
- Funções básicas.
- Funções dos pacotes proprietários instalados com o SQL Server.
- Pacotes de terceiros compatíveis com a versão de Python e R open-source que o SQL Server instala.
Os pacotes que queres usar do SQL Server devem estar instalados na biblioteca padrão que a instância utiliza. Se tiver uma instalação separada de Python ou R no computador, ou se instalou pacotes para bibliotecas de utilizador, não pode usar esses pacotes a partir 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 pode configurar funções de banco de dados para permitir que os usuários instalem seus próprios pacotes. Para mais informações, consulte Instalar novos pacotes R.
Conteúdo relacionado
- O que é SQL Server Machine Learning Services?
- Instalar Serviços de Machine Learning do SQL Server 2022 no Windows
- Tutorial de Python: Desenvolva um modelo de regressão linear com aprendizagem automática em SQL
- Tutorial Python: Classificação de clientes usando clustering k-means com aprendizagem de máquina SQL
- Guia de início rápido: execute scripts R simples com o aprendizado de máquina SQL
- Tutorial R: Prever tarifas de táxi de Nova York com classificação binária