Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: SQL Server 2019 (15.x)
Aprenda a instalar um runtime personalizado em Python para executar scripts Python externos com SQL Server em:
- Windows
- Ubuntu Linux
- Red Hat Enterprise Linux (RHEL)
- Servidor SUSE Linux Enterprise (SLES)
O runtime personalizado pode executar scripts de aprendizagem automática e utiliza as Extensões da Linguagem SQL Server.
Usa a tua própria versão do runtime em Python com SQL Server, em vez da versão padrão de runtime instalada com SQL Server Machine Learning Services.
A partir do SQL Server 2022 (16.x), os tempos de execução para R, Python e Java não são mais instalados com a Instalação do SQL. Em vez disso, instala o(s) runtime(s) e pacotes personalizados em Python que pretendes. Para mais informações, consulte Instalar Serviços de Aprendizagem Automática SQL Server 2022 (Python e R) no Windows ou Instalar Serviços de Aprendizagem Automática SQL Server (Python e R) no Linux.
Pré-requisitos
Antes de instalar um runtime personalizado em Python, instale:
- Se estiver a usar uma instância existente do SQL Server, instale Atualização Cumulativa (CU) 3 ou posterior para o SQL Server 2019.
Instalar extensões de linguagem
Observação
Se tiver o Machine Learning Services instalado no SQL Server 2019, o Language Extensions já está instalado e pode saltar este passo.
Siga os passos abaixo para instalar as Extensões da Linguagem SQL Server, que são usadas para o runtime personalizado em Python.
Inicie o assistente de configuração do SQL Server 2019.
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 Extensões de Linguagem com SQL Server, deve instalar uma instância do motor de base de dados. Pode usar uma instância nova ou já existente.
Serviços de Aprendizagem Automática e Extensões de Linguagem
Selecione Serviços de Aprendizagem Automática e Extensões de Linguagem. Não escolhas Python, pois vais instalar o runtime personalizado em Python mais tarde.
Na página Pronto para Instalar , verifique se essas seleções estão incluídas e selecione Instalar.
- Serviços do Mecanismo de Banco de Dados
- Serviços de Aprendizagem Automática e Extensões de Linguagem
Depois de concluída a configuração, reinicie a máquina se lhe pedirem.
Importante
Se instalar uma nova instância do SQL Server 2019 com Extensões de Linguagem, instale a Atualização Cumulativa () 3 ou posterior antes de continuar para o passo seguinte.
Instalar o Python
A extensão da linguagem Python usada para o runtime Python personalizado suporta atualmente apenas Python 3.7. Se quiser usar uma versão diferente do Python, siga a instrução no repositório GitHub da Extensão da Linguagem Python para modificar e reconstruir a extensão.
Descarregue o Python 3.7 para Windows e execute a configuração no servidor.
Selecione Adicionar Python 3.7 ao PATH e depois selecione Personalizar instalação.
Em Funcionalidades Opcionais, saia das definições e selecione Próximo.
Selecione Instalar para todos os utilizadores e anote o local de instalação.
Selecione Instalar.
Instalar pandas
Instale o pacote pandas para Python a partir de um prompt de comandos elevado (Executar como Administrador):
python.exe -m pip install pandas
Conceder acesso à pasta Python
Execute os seguintes comandos icacls a partir de uma nova janela de comando elevada para conceder acesso READ & EXECUTE à instalação do Python ao SQL Server Launchpad Service e à SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES).
Os exemplos abaixo utilizam o local de instalação em Python como C:\Program Files\Python37. Se a sua localização for diferente, altere-a no comando.
Conceda permissões ao nome de utilizador do SQL Server Launchpad Service.
icacls "C:\Program Files\Python37" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /TPara uma instância nomeada, o comando será
icacls "C:\Program Files\Python37" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /Tpara uma instância chamada SQL01.Dê permissões ao SID S-1-15-2-1.
icacls "C:\Program Files\Python37" /grant *S-1-15-2-1:(OI)(CI)RX /TO comando anterior concede permissões ao SID do computador S-1-15-2-1, que é equivalente a TODOS OS PACOTES DE APLICAÇÕES numa versão inglesa do Windows. Como alternativa, você pode usar
icacls "C:\Program Files\Python37" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /Tem uma versão em inglês do Windows.
Reiniciar o Launchpad do SQL Server
Siga estes passos para reiniciar o serviço SQL Server Launchpad.
Em SQL Server Services, clique com o botão direito em SQL Server Launchpad (MSSQLSERVER) e selecione Reiniciar. Se estiver a usar uma instância nomeada, o nome da instância será mostrado em vez de (MSSQLSERVER).
Extensão da linguagem de registos
Siga estes passos para descarregar e registar a extensão da linguagem Python, que é usada para o runtime personalizado Python.
Descarregue o ficheiro python-lang-extension-windows-release.zip do repositório GitHub das Extensões da Linguagem SQL Server.
Em alternativa, pode usar a versão de depuração (python-lang-extension-windows-debug.zip) num ambiente de desenvolvimento ou teste. A versão de depuração fornece informação detalhada de registo para investigar eventuais erros, e não é recomendada para ambientes de produção.
Use Azure Data Studio para se conectar à sua instância SQL Server e execute o seguinte comando T-SQL para registar a extensão da linguagem Python com CREATE EXTERNAL LANGUAGE.
Modifique o caminho nesta instrução para refletir a localização do ficheiro zip da extensão de linguagem descarregada (python-lang-extension-windows-release.zip) e a localização da sua instalação em Python (
C:\\Program Files\\Python37).CREATE EXTERNAL LANGUAGE [myPython] FROM (CONTENT = N'C:\path\to\python-lang-extension-windows-release.zip', FILE_NAME = 'pythonextension.dll', ENVIRONMENT_VARIABLES = N'{"PYTHONHOME": "C:\\Program Files\\Python37"}'); GOExecuta a instrução para cada base de dados onde queres usar a extensão da linguagem Python.
Observação
Python é uma palavra reservada e não pode ser usada como nome para uma nova linguagem externa. Use um nome diferente em vez disso. Por exemplo, a afirmação acima usa myPython.
Pré-requisitos
Antes de instalar um runtime Python personalizado, instale os seguintes pré-requisitos:
Instale o SQL Server 2019 (15.x) para Linux. Pode instalar SQL Server no Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) e Ubuntu. Para mais informações, consulte as orientações de instalação do SQL Server no Linux.
Atualize para a Atualização Cumulativa () 3 ou posterior para SQL Server 2019 (15.x). Siga estes passos:
Configure os repositórios para Atualizações Cumulativas. Para obter mais informações, consulte Configurar repositórios para instalar e atualizar o SQL Server no Linux.
Atualize o pacote mssql-server para a Atualização Cumulativa mais recente. Para mais informações, consulte a secção Atualizar ou Fazer Upgrade do SQL Server no guia de instalação do SQL Server no Linux.
Instalar extensões de linguagem
Observação
Se tiver os Serviços de Aprendizagem Automática instalados no SQL Server 2019, o pacote mssql-server-extensibility para Extensões de Linguagem já está instalado e pode saltar este passo.
Execute os comandos abaixo para instalar as Extensões da Linguagem SQL Server no Ubuntu Linux, que é usado para o runtime personalizado em Python.
Se possível, execute este comando para atualizar os pacotes no sistema antes da instalação.
# Install as root or sudo sudo apt-get updateO Ubuntu pode não ter a opção de protocolo de transporte apt https. Para o instalar, execute este comando.
# Install as root or sudo apt-get install apt-transport-httpsInstale mssql-server-extensibility com este comando.
# Install as root or sudo sudo apt-get install mssql-server-extensibility
Instalar Python 3.7 e pandas
A extensão da linguagem Python usada para o runtime Python personalizado suporta atualmente apenas Python 3.7 . Se quiser usar uma versão diferente do Python, siga a instrução no repositório GitHub da Extensão da Linguagem Python para modificar e reconstruir a extensão.
Execute os comandos abaixo para instalar o Python 3.7.
# Install python3.7 and the corresponding library: sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.7 python3-pip libpython3.7Execute o comando abaixo para instalar o pacote pandas
# Install pandas to /usr/lib: sudo python3.7 -m pip install pandas -t /usr/lib/python3.7/dist-packages
Instalação personalizada de Python
Observação
Se instalou o Python 3.7 na localização padrão de /usr/lib/python3.7, pode saltar esta secção e passar para a secção da extensão da linguagem Register .
Se construiu a sua própria versão de Python 3.7, use os seguintes comandos para informar o SQL Server sobre a sua instalação personalizada.
Adicionar variável ambiente
Primeiro, edite o serviço mssql-launchpadd para adicionar a variável de ambiente PYTHONHOME ao ficheiro /etc/systemd/system/mssql-launchpadd.service.d/override.conf
Abra o ficheiro com systemctl
sudo systemctl edit mssql-launchpaddInsira o texto seguinte no
/etc/systemd/system/mssql-launchpadd.service.d/override.confficheiro que se abre. Defina o valor do PYTHONHOME para o caminho de instalação personalizado do Python.[Service] Environment="PYTHONHOME=<path to the python3.7 lib>"Guarda o ficheiro e fecha o editor.
De seguida, certifique-se de que libpython3.7m.so.1.0 possa ser carregado.
Crie um ficheiro personalizado-python.conf em
/etc/ld.so.conf.d.sudo vi /etc/ld.so.conf.d/custom-python.confNo ficheiro que abre, adiciona o caminho para libpython3.7m.so.1.0 a partir da instalação personalizada em Python.
<path to the python3.7 lib>Guarda o novo ficheiro e fecha o editor.
Executar
ldconfige verificar selibpython3.7m.so.1.0pode ser carregado executando os seguintes comandos e verificando se todas as bibliotecas dependentes possam ser encontradas.sudo ldconfig ldd <path to the python3.7 lib>/libpython3.7m.so.1.0
Conceder acesso à pasta Python
Defina a datadirectories opção na secção de extensibilidade do /var/opt/mssql/mssql.conf ficheiro para a instalação personalizada em python.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to python3.7>
Reiniciar mssql-launchpadd
Execute o seguinte comando para reiniciar o mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Extensão da linguagem de registos
Siga estes passos para descarregar e registar a extensão Python, que é utilizada para o runtime personalizado Python.
Descarregue o ficheiro python-lang-extension-linux-release.zip do repositório GitHub das Extensões da Linguagem SQL Server.
Em alternativa, pode usar a versão de depuração (python-lang-extension-linux-debug.zip) num ambiente de desenvolvimento ou teste. A versão de depuração fornece informação detalhada de registo para investigar eventuais erros, e não é recomendada para ambientes de produção.
Use Azure Data Studio para se conectar à sua instância SQL Server e execute o seguinte comando T-SQL para registar a extensão da linguagem Python com CREATE EXTERNAL LANGUAGE.
Modifique o caminho nesta instrução para refletir a localização do ficheiro zip da extensão de linguagem descarregada (python-lang-extension-linux-release.zip).
CREATE EXTERNAL LANGUAGE [myPython] FROM (CONTENT = N'/path/to/python-lang-extension-linux-release.zip', FILE_NAME = 'libPythonExtension.so.1.1'); GOExecuta a instrução para cada base de dados onde queres usar a extensão da linguagem Python.
Observação
Python é uma palavra reservada e não pode ser usada como nome para uma nova linguagem externa. Use um nome diferente em vez disso. Por exemplo, a afirmação acima usa myPython.
Pré-requisitos
Antes de instalar um runtime Python personalizado, instale os seguintes pré-requisitos:
Instale o SQL Server 2019 (15.x) para Linux. Pode instalar SQL Server no Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) e Ubuntu. Para mais informações, consulte as orientações de instalação do SQL Server no Linux.
Atualize para a Atualização Cumulativa () 3 ou posterior para SQL Server 2019 (15.x). Siga estes passos:
Configure os repositórios para Atualizações Cumulativas. Para obter mais informações, consulte Configurar repositórios para instalar e atualizar o SQL Server no Linux.
Atualize o pacote mssql-server para a Atualização Cumulativa mais recente. Para mais informações, consulte a secção Atualizar ou Fazer Upgrade do SQL Server no guia de instalação do SQL Server no Linux.
Instalar extensões de linguagem
Observação
Se tiver os Serviços de Aprendizagem Automática instalados no SQL Server 2019, o pacote mssql-server-extensibility para Extensões de Linguagem já está instalado e pode saltar este passo.
Execute o seguinte comando para instalar as Extensões da Linguagem SQL Server no Red Hat Enterprise Linux (RHEL), que é usado para o runtime personalizado do Python.
# Install as root or sudo
sudo yum install mssql-server-extensibility
Instalar Python 3.7 e pandas
A extensão da linguagem Python usada para o runtime Python personalizado suporta atualmente apenas Python 3.7 . Se quiser usar uma versão diferente do Python, siga a instrução no repositório GitHub da Extensão da Linguagem Python para modificar e reconstruir a extensão.
Execute os comandos abaixo para instalar o Python 3.7.
# Install python3.7 and the corresponding library: yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel cd /usr/src wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz tar xzf Python-3.7.9.tgz cd Python-3.7.9 ./configure --enable-optimizations --prefix=/usr make altinstallExecute o comando abaixo para instalar o pacote pandas
# Install pandas to /usr/lib: sudo python3.7 -m pip install pandas -t /usr/lib/python3.7/dist-packages
Instalação personalizada de Python
Observação
Se instalou o Python 3.7 na localização padrão de /usr/lib/python3.7, pode saltar esta secção e passar para a secção da extensão da linguagem Register .
Se construiu a sua própria versão de Python 3.7, use os seguintes comandos para informar o SQL Server sobre a sua instalação personalizada.
Adicionar variável ambiente
Primeiro, edite o serviço mssql-launchpadd para adicionar a variável de ambiente PYTHONHOME ao ficheiro /etc/systemd/system/mssql-launchpadd.service.d/override.conf
Abra o ficheiro com systemctl
sudo systemctl edit mssql-launchpaddInsira o texto seguinte no
/etc/systemd/system/mssql-launchpadd.service.d/override.confficheiro que se abre. Defina o valor do PYTHONHOME para o caminho de instalação personalizado do Python.[Service] Environment="PYTHONHOME=<path to the python3.7 lib>"Guarda o ficheiro e fecha o editor.
De seguida, certifique-se de que libpython3.7m.so.1.0 possa ser carregado.
Crie um ficheiro personalizado-python.conf em
/etc/ld.so.conf.d.sudo vi /etc/ld.so.conf.d/custom-python.confNo ficheiro que abre, adiciona o caminho para libpython3.7m.so.1.0 a partir da instalação personalizada em Python.
<path to the python3.7 lib>Guarda o novo ficheiro e fecha o editor.
Executar
ldconfige verificar selibpython3.7m.so.1.0pode ser carregado executando os seguintes comandos e verificando se todas as bibliotecas dependentes possam ser encontradas.sudo ldconfig ldd <path to the python3.7 lib>/libpython3.7m.so.1.0
Conceder acesso à pasta Python
Defina a datadirectories opção na secção de extensibilidade do /var/opt/mssql/mssql.conf ficheiro para a instalação personalizada em python.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to python3.7>
Reiniciar mssql-launchpadd
Execute o seguinte comando para reiniciar o mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Extensão da linguagem de registos
Siga estes passos para descarregar e registar a extensão Python, que é utilizada para o runtime personalizado Python.
Descarregue o ficheiro python-lang-extension-linux-release.zip do repositório GitHub das Extensões da Linguagem SQL Server.
Em alternativa, pode usar a versão de depuração (python-lang-extension-linux-debug.zip) num ambiente de desenvolvimento ou teste. A versão de depuração fornece informação detalhada de registo para investigar eventuais erros, e não é recomendada para ambientes de produção.
Use Azure Data Studio para se conectar à sua instância SQL Server e execute o seguinte comando T-SQL para registar a extensão da linguagem Python com CREATE EXTERNAL LANGUAGE.
Modifique o caminho nesta instrução para refletir a localização do ficheiro zip da extensão de linguagem descarregada (python-lang-extension-linux-release.zip).
CREATE EXTERNAL LANGUAGE [myPython] FROM (CONTENT = N'/path/to/python-lang-extension-linux-release.zip', FILE_NAME = 'libPythonExtension.so.1.1'); GOExecuta a instrução para cada base de dados onde queres usar a extensão da linguagem Python.
Observação
Python é uma palavra reservada e não pode ser usada como nome para uma nova linguagem externa. Use um nome diferente em vez disso. Por exemplo, a afirmação acima usa myPython.
Pré-requisitos
Antes de instalar um runtime Python personalizado, instale os seguintes pré-requisitos:
Instale o SQL Server 2019 (15.x) para Linux. Pode instalar SQL Server no Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) e Ubuntu. Para mais informações, consulte as orientações de instalação do SQL Server no Linux.
Atualize para a Atualização Cumulativa () 3 ou posterior para SQL Server 2019 (15.x). Siga estes passos:
Configure os repositórios para Atualizações Cumulativas. Para obter mais informações, consulte Configurar repositórios para instalar e atualizar o SQL Server no Linux.
Atualize o pacote mssql-server para a Atualização Cumulativa mais recente. Para mais informações, consulte a secção Atualizar ou Fazer Upgrade do SQL Server no guia de instalação do SQL Server no Linux.
Instalar extensões de linguagem
Observação
Se tiver os Serviços de Aprendizagem Automática instalados no SQL Server 2019, o pacote mssql-server-extensibility para Extensões de Linguagem já está instalado e pode saltar este passo.
Execute o comando abaixo para instalar as Extensões da Linguagem SQL Server no SUSE Linux Enterprise Server (SLES), que é usado para o runtime personalizado em Python.
# Install as root or sudo
sudo zypper install mssql-server-extensibility
Instalar Python 3.7 e pandas
A extensão da linguagem Python usada para o runtime Python personalizado suporta atualmente apenas Python 3.7 . Se quiser usar uma versão diferente do Python, siga a instrução no repositório GitHub da Extensão da Linguagem Python para modificar e reconstruir a extensão.
Instale o Python 3.7 no servidor.
Execute o comando abaixo para instalar o pacote pandas
# Install pandas to /usr/lib: sudo python3.7 -m pip install pandas -t /usr/lib/python3.7/dist-packages
Instalação personalizada de Python
Observação
Se instalou o Python 3.7 na localização padrão de /usr/lib/python3.7, pode saltar esta secção e passar para a secção da extensão da linguagem Register .
Se construiu a sua própria versão de Python 3.7, use os seguintes comandos para informar o SQL Server sobre a sua instalação personalizada.
Adicionar variável ambiente
Primeiro, edite o serviço mssql-launchpadd para adicionar a variável de ambiente PYTHONHOME ao ficheiro /etc/systemd/system/mssql-launchpadd.service.d/override.conf
Abra o ficheiro com systemctl
sudo systemctl edit mssql-launchpaddInsira o texto seguinte no
/etc/systemd/system/mssql-launchpadd.service.d/override.confficheiro que se abre. Defina o valor do PYTHONHOME para o caminho de instalação personalizado do Python.[Service] Environment="PYTHONHOME=<path to the python3.7 lib>"Guarda o ficheiro e fecha o editor.
De seguida, certifique-se de que libpython3.7m.so.1.0 possa ser carregado.
Crie um ficheiro personalizado-python.conf em
/etc/ld.so.conf.d.sudo vi /etc/ld.so.conf.d/custom-python.confNo ficheiro que abre, adiciona o caminho para libpython3.7m.so.1.0 a partir da instalação personalizada em Python.
<path to the python3.7 lib>Guarda o novo ficheiro e fecha o editor.
Executar
ldconfige verificar selibpython3.7m.so.1.0pode ser carregado executando os seguintes comandos e verificando se todas as bibliotecas dependentes possam ser encontradas.sudo ldconfig ldd <path to the python3.7 lib>/libpython3.7m.so.1.0
Conceder acesso à pasta Python
Defina a datadirectories opção na secção de extensibilidade do /var/opt/mssql/mssql.conf ficheiro para a instalação personalizada em python.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to python3.7>
Reiniciar mssql-launchpadd
Execute o seguinte comando para reiniciar o mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Extensão da linguagem de registos
Siga estes passos para descarregar e registar a extensão Python, que é utilizada para o runtime personalizado Python.
Descarregue o ficheiro python-lang-extension-linux-release.zip do repositório GitHub das Extensões da Linguagem SQL Server.
Em alternativa, pode usar a versão de depuração (python-lang-extension-linux-debug.zip) num ambiente de desenvolvimento ou teste. A versão de depuração fornece informação detalhada de registo para investigar eventuais erros, e não é recomendada para ambientes de produção.
Use Azure Data Studio para se conectar à sua instância SQL Server e execute o seguinte comando T-SQL para registar a extensão da linguagem Python com CREATE EXTERNAL LANGUAGE.
Modifique o caminho nesta instrução para refletir a localização do ficheiro zip da extensão de linguagem descarregada (python-lang-extension-linux-release.zip).
CREATE EXTERNAL LANGUAGE [myPython] FROM (CONTENT = N'/path/to/python-lang-extension-linux-release.zip', FILE_NAME = 'libPythonExtension.so.1.1'); GOExecuta a instrução para cada base de dados onde queres usar a extensão da linguagem Python.
Observação
Python é uma palavra reservada e não pode ser usada como nome para uma nova linguagem externa. Use um nome diferente em vez disso. Por exemplo, a afirmação acima usa myPython.
Ativar scripts externos
Podes executar scripts externos em linguagem Python com o procedimento armazenado sp_execute_external script.
Para ativar scripts externos, utilize o Azure Data Studio para executar a instrução abaixo.
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Verificar a instalação
Use o seguinte script SQL para verificar a instalação e funcionalidade do runtime personalizado em Python. No exemplo de script abaixo, myPython é usado como nome da linguagem porque o nome Python padrão da língua não pode ser fornecido para um runtime personalizado.
EXEC sp_execute_external_script
@language =N'myPython',
@script=N'
import sys
print(sys.path)
print(sys.version)
print(sys.executable)'