Vai al contenuto principale

Come eseguire Python/R in SQL

Dopo aver letto questo tutorial, saprai come incorporare script R e Python nelle istruzioni T-SQL e quali tipi di dati vengono usati per passare i dati tra SQL e Python/R.
Aggiornato 29 set 2026  · 6 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

bringing intelligence to where data lives

Introduzione

Sapevi che puoi scrivere codice R e Python all'interno delle istruzioni T-SQL? I Machine Learning Services in SQL Server eliminano la necessità di spostare i dati. Invece di trasferire grandi quantità di dati sensibili sulla rete o perdere accuratezza con file CSV di esempio, puoi eseguire il tuo codice R/Python direttamente nel database. Distribuisci facilmente il tuo codice R/Python con stored procedure SQL, rendendolo accessibile nei tuoi processi ETL o a qualsiasi applicazione. Allena e archivia modelli di machine learning nel database, portando l'intelligenza dove vivono i tuoi dati.

Puoi installare ed eseguire gli ultimi pacchetti open source R/Python per creare applicazioni di Deep Learning e AI su grandi moli di dati in SQL Server. Ci sono anche algoritmi all'avanguardia e ad alte prestazioni nelle API RevoScaleR e RevoScalePy di Microsoft. Usandoli insieme alle ultime innovazioni del mondo open source, puoi offrire una selezione, prestazioni e scalabilità senza precedenti alle tue applicazioni.

why in-database analytics with sql server

Se non vedi l'ora di provare i Machine Learning Services di SQL Server, dai un'occhiata al tutorial pratico qui sotto. Se non hai installato i Machine Learning Services in SQL Server, per prima cosa segui il tutorial introduttivo pubblicato qui: https://blogs.msdn.microsoft.com/mlserver/2018/05/18/getting-started-with-machine-learning-services-in-sql-server/

Tutorial pratico

Cosa imparerai

Questo tutorial coprirà le basi di come eseguire R e Python nelle istruzioni T-SQL. Al termine, saprai:

  1. Come incorporare script R e Python nelle istruzioni T-SQL.
  2. Come usare parametri di base per specificare dati di input e output per gli script R/Python.
  3. Quali tipi di dati vengono usati per passare i dati tra i processi SQL e Python/R.

Prerequisiti di configurazione

Se non hai installato i Machine Learning Services su SQL Server, leggi prima questo tutorial introduttivo o guarda questi video per configurare l'ambiente: https://aka.ms/InstallMLServices https://aka.ms/EnableMLServices

Video di accompagnamento

Se preferisci imparare con i video, questo tutorial è disponibile anche su YouTube: @https://aka.ms/ExecuteMLServices https://youtu.be/ACejZ9optCQ

Basi

Apri SQL Server Management Studio e connettiti al tuo server. Apri una nuova query e incolla questo esempio di base: (Anche se in questi esempi si usa Python, puoi fare tutto anche con R)

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

Sp_execute_external_script è una stored procedure di sistema speciale che abilita l'esecuzione di R e Python in SQL Server. C'è un parametro language che ti permette di scegliere tra Python e R. C'è un parametro script dove puoi incollare codice R o Python. Se non vedi come output la stampa di 7, torna a rivedere i passaggi di configurazione in questo articolo.

Introduzione ai parametri

Dopo aver visto un esempio di base, iniziamo ad aggiungere altri elementi:

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

I Machine Learning Services offrono comunicazioni più naturali tra SQL e R/Python con un parametro per i dati di input che accetta qualsiasi query SQL. Il nome del parametro di input è input_data_1.

Nel codice Python puoi vedere che sono definite variabili predefinite per passare i dati tra Python e SQL. I nomi predefiniti sono OutputDataSet e InputDataSet. Puoi cambiare questi nomi predefiniti come in questo esempio:

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';

Eseguendo questi esempi, potresti aver notato che ognuno restituisce un risultato con (No column name)? Puoi specificare un nome per le colonne restituite aggiungendo la clausola WITH RESULT SETS alla fine dell'istruzione, che è un elenco separato da virgole di colonne e relativi tipi di dati.

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));

Tipi di dati di input/output

Bene, parliamo un po' di più dei tipi di dati di input/output usati tra SQL e Python. La tua istruzione di input SQL SELECT passa un "DataFrame" a Python facendo affidamento sul pacchetto Python Pandas. Anche l'output da Python verso SQL deve essere un oggetto DataFrame di Pandas. Se devi convertire valori scalari in un DataFrame, ecco un esempio:

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
'

Le variabili c e d sono entrambe valori scalari, che puoi aggiungere a una Series di pandas, se vuoi, e poi convertirle in un DataFrame di pandas. Questo è un esempio un po' più articolato; leggi la documentazione del pacchetto pandas in Python per maggiori dettagli ed esempi:

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
'

Ora conosci le basi di come eseguire R e Python in T-SQL! È molto semplice chiamare EXEC sp_execute_external_script, copiare/incollare il tuo codice R o Python e copiare/incollare la tua SELECT SQL di input. Magari ti serve effettuare una trasformazione o un'estrazione dati semplice in R/Python ma troppo complessa da scrivere in SQL. Forse stai addestrando una rete neurale profonda su enormi quantità di dati, troppo grandi per essere inviati su una rete. O magari vuoi calcolare automaticamente uno score/predire un risultato su nuovi dati che entrano nel tuo sistema OLTP. I casi d'uso sono ampi e ora sei pronto a migliorare sicurezza, prestazioni e scalabilità con i Machine Learning Services in SQL Server.

Per approfondire

Sapevi che puoi anche scrivere il tuo codice R e Python nel tuo IDE preferito, come RStudio e Jupyter Notebooks, e poi inviarne l'esecuzione in remoto a SQL Server? Consulta questi link alla documentazione per saperne di più: Documentazione: https://aka.ms/R-RemoteSQLExecution Documentazione: https://aka.ms/R-RemoteSQLExecution Esempio di Jupyter Notebook su Github: https://aka.ms/RemoteExecJupyter

Se vuoi imparare di più su SQL, dai un'occhiata al nostro corso Introduzione a SQL per la Data Science e al nostro hub su come imparare SQL.

Argomenti
SQL
Data Science
Python
R

Scopri di più su SQL

Corso

Manipolazione dei dati in SQL

4 ore
337.3K
Padroneggia query SQL complesse per rispondere a varie domande di Data Science e preparare dataset solidi da analizzare in PostgreSQL.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro