Pular para o conteúdo principal

Como executar Python/R no SQL

Depois de ler este tutorial, você vai saber como incorporar scripts de R e Python em instruções T-SQL e quais tipos de dados são usados para passar dados entre SQL e Python/R.
Atualizado 17 de set. de 2026  · 6 min lido

Explorar com IA

ChatGPTClaudePerplexity

bringing intelligence to where data lives

Introdução

Você sabia que dá para escrever código em R e Python dentro das suas instruções T-SQL? Os Machine Learning Services do SQL Server eliminam a necessidade de mover dados. Em vez de transferir grandes volumes de dados sensíveis pela rede ou perder precisão com arquivos CSV de amostra, você pode executar seu código R/Python dentro do próprio banco de dados. Faça a implantação dos seus scripts R/Python com procedimentos armazenados do SQL e torne-os acessíveis nos seus processos de ETL ou para qualquer aplicação. Treine e armazene modelos de machine learning no banco, levando inteligência para onde os seus dados vivem.

Você pode instalar e rodar os pacotes open source mais recentes de R/Python para criar aplicações de Deep Learning e IA com grandes volumes de dados no SQL Server. Há também algoritmos de ponta e de alto desempenho nas APIs RevoScaleR e RevoScalePy da Microsoft. Usá-los junto com as inovações mais recentes do mundo open source permite levar uma combinação imbatível de variedade, performance e escala para suas aplicações.

why in-database analytics with sql server

Se você está animado para testar o SQL Server Machine Learning Services, confira o tutorial prático abaixo. Caso ainda não tenha os Machine Learning Services instalados no SQL Server, primeiro siga o tutorial de primeiros passos publicado aqui: https://blogs.msdn.microsoft.com/mlserver/2018/05/18/getting-started-with-machine-learning-services-in-sql-server/

Tutorial passo a passo

O que você vai aprender

Este tutorial cobre o básico de como executar R e Python em instruções T-SQL. Ao concluir, você saberá:

  1. Como incorporar scripts em R e Python em instruções T-SQL.
  2. Como usar parâmetros básicos para definir dados de entrada e saída nos scripts R/Python.
  3. Quais tipos de dados são usados para passar informações entre processos SQL e Python/R.

Pré-requisitos de configuração

Se você não tem os Machine Learning Services instalados no SQL Server, leia primeiro este tutorial de início rápido ou assista aos vídeos para configurar: https://aka.ms/InstallMLServices https://aka.ms/EnableMLServices

Vídeo de apoio

Se você prefere aprender por vídeo, este tutorial também está no YouTube: @https://aka.ms/ExecuteMLServices https://youtu.be/ACejZ9optCQ

Noções básicas

Abra o SQL Server Management Studio e conecte-se ao seu servidor. Crie uma nova consulta e cole este exemplo básico: (Embora os exemplos usem Python, você pode fazer tudo em R também)

EXEC sp_execute_external_script @language = N'Python',
@script = N'print(3+4)'

Sp_execute_external_script é um procedimento armazenado de sistema especial que habilita a execução de R e Python no SQL Server. O parâmetro language permite escolher entre Python e R. O parâmetro script é onde você cola o código em R ou Python. Se você não viu o número 7 como saída, volte e revise as etapas de configuração deste artigo.

Introdução a parâmetros

Depois do exemplo básico, vamos acrescentar mais elementos:

EXEC sp_execute_external_script @language =N'Python',
@script = N'
OutputDataSet = InputDataSet;
',
@input_data_1 =N'SELECT 1 AS Col1';

Os Machine Learning Services oferecem uma comunicação mais natural entre SQL e R/Python com um parâmetro de entrada que aceita qualquer consulta SQL. O nome desse parâmetro de entrada é input_data_1.

No código em Python, você vê variáveis padrão definidas para passar dados entre Python e SQL. Os nomes padrão são OutputDataSet e InputDataSet. Você pode alterá-los, como neste exemplo:

EXEC sp_execute_external_script @language =N'Python',
@script = N'
MyOutput = MyInput;
',
@input_data_1_name = N'MyInput',
@input_data_1 =N'SELECT 1 AS foo',
@output_data_1_name =N'MyOutput';

Ao executar esses exemplos, você deve ter notado que o resultado retorna com (No column name)? Você pode especificar nomes para as colunas retornadas adicionando a cláusula WITH RESULT SETS ao final da instrução, informando uma lista separada por vírgulas com as colunas e seus tipos de dados.

EXEC sp_execute_external_script  @language =N'Python',
@script=N'
MyOutput = MyInput;
',
@input_data_1_name = N'MyInput',
@input_data_1 =N'SELECT 1 AS foo,2 AS bar',
@output_data_1_name =N'MyOutput'
WITH RESULT SETS ((MyColName int, MyColName2 int));

Tipos de dados de entrada/saída

Agora, vamos falar um pouco mais sobre os tipos de dados usados entre SQL e Python. Sua instrução SQL SELECT passa um "DataFrame" para o Python usando o pacote Pandas do Python. A saída do Python de volta para o SQL também precisa estar em um objeto DataFrame do Pandas. Se você precisar converter valores escalares em um DataFrame, veja este exemplo:

EXEC sp_execute_external_script @language =N'Python',
@script=N'
import pandas as pd
c = 1/2
d = 1*2
s = pd.Series([c,d])
df = pd.DataFrame(s)
OutputDataSet = df
'

As variáveis c e d são valores escalares; você pode adicioná-los a uma Series do Pandas e depois convertê-los em um DataFrame. Este exemplo é um pouco mais elaborado; consulte a documentação do pacote pandas para mais detalhes e exemplos:

EXEC sp_execute_external_script @language =N'Python',
@script=N'
import pandas as pd
s = {"col1": [1, 2], "col2": [3, 4]}
df = pd.DataFrame(s)
OutputDataSet = df
'

Pronto! Você já sabe o básico de como executar R e Python em T-SQL. É bem simples chamar EXEC sp_execute_external_script, copiar/colar seu código em R ou Python e copiar/colar seu SELECT de entrada em SQL. Talvez você precise fazer uma transformação ou extração de dados que é simples em R/Python, mas complexa demais para escrever em SQL. Talvez você esteja treinando uma rede neural profunda com um volume enorme de dados, grande demais para enviar pela rede. Ou talvez você queira pontuar/prever automaticamente um resultado com novos dados entrando no seu sistema OLTP. As possibilidades são muitas — e agora você está pronto para aumentar segurança, performance e escala com os Machine Learning Services no SQL Server.

Leituras recomendadas

Sabia que você também pode escrever seu código em R e Python no seu IDE favorito, como RStudio e Jupyter Notebooks, e enviar a execução remotamente para o SQL Server? Confira estes links de documentação para saber mais: Documentação: https://aka.ms/R-RemoteSQLExecution Documentação: https://aka.ms/R-RemoteSQLExecution Exemplo no Github (Jupyter Notebook): https://aka.ms/RemoteExecJupyter

Se você quer aprender mais sobre SQL, confira nosso curso Intro to SQL for Data Science e o hub de como aprender SQL.

Tópicos
SQL
Ciência de dados
Python
R

Saiba mais sobre SQL

Curso

Manipulação de dados em SQL

4 h
335K
Domine consultas SQL complexas no PostgreSQL para responder várias perguntas de ciência de dados e preparar conjuntos de dados robustos.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

R vs. SQL - o que devo aprender?

Descubra tudo o que você precisa saber sobre R e SQL, ajudando-o a escolher qual deles é o melhor para aprender de acordo com suas necessidades.
Matt Crabtree's photo

Matt Crabtree

9 min

blog

SQL vs Python: Qual você deve aprender?

Neste artigo, abordaremos os principais recursos do Python e do SQL, suas principais semelhanças e diferenças, e qual deles você deve escolher primeiro para iniciar sua jornada na ciência de dados.
Javier Canales Luna's photo

Javier Canales Luna

12 min

Tutorial

Tutorial de como executar consultas SQL em Python e R

Aprenda maneiras fáceis e eficazes de executar consultas SQL em Python e R para análise de dados e gerenciamento de bancos de dados.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Tutorial de execução de scripts Python no Power BI

Descubra as diferentes maneiras de usar o Python para otimizar a análise, a visualização e a modelagem de dados no Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

Tutorial

Tutorial de como executar scripts Python

Saiba como executar um script Python a partir da linha de comando e também como fornecer argumentos de linha de comando ao seu script.
Aditya Sharma's photo

Aditya Sharma

10 min

SQLAlchemy_Tutorial.

Tutorial

Tutorial de SQLAlchemy com exemplos

Aprenda a acessar e executar consultas SQL em todos os tipos de bancos de dados relacionais usando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Ver MaisVer Mais