Cosa sono le estensioni del linguaggio di SQL Server?
Si applica a: SQL Server 2019 (15.x) e versioni successive
Le estensioni del linguaggio sono una funzionalità di SQL Server usata per l'esecuzione di codice esterno. I dati relazionali possono essere usati nel codice esterno tramite il framework di estendibilità. In SQL Server 2019 (15.x) e versioni successive sono supportati i runtime Java, C#, Python e R.
Nota
Per l'esecuzione di Python o R in SQL Server, vedere la documentazione sui servizi di Machine Learning con Python e R. Con SQL Server 2019 (15.x) e versioni successive, è possibile usare un runtime personalizzato di Python e R con le estensioni del linguaggio. Per altre informazioni, vedere Installare un runtime personalizzato Python per SQL Server e Installare un runtime personalizzato R per SQL Server.
Potenzialità delle estensioni del linguaggio
Le estensioni del linguaggio usano il framework di estendibilità per l'esecuzione di codice esterno. L'esecuzione del codice è isolata dai processi del motore di base, ma completamente integrata con l'esecuzione delle query di SQL Server. È possibile eseguire il codice nell'origine dati, eliminando la necessità di eseguire il pull dei dati attraverso la rete.
I linguaggi esterni sono definiti con CREATE EXTERNAL LANGUAGE. La stored procedure di sistema sp_execute_external_script viene usata come interfaccia per l'esecuzione del codice.
Le estensioni del linguaggio offrono diversi vantaggi:
Sicurezza dei dati. L'esecuzione di un linguaggio esterno più vicino all'origine dei dati evita spostamenti di dati non sicuri.
Velocità. I database sono ottimizzati per le operazioni basate su set.
Facilità di distribuzione e integrazione. SQL Server è il punto centrale delle operazioni per molte altre attività di gestione dati e applicazioni. Usando i dati nel database, è possibile assicurarsi che i dati usati dall'estensione del linguaggio siano coerenti e aggiornati.
La funzionalità nativa Common Language Runtime Integration consente di implementare alcune delle funzionalità di SQL Server con i linguaggi .NET. Per una discussione sulle differenze tra il CLR SQL e le estensioni del linguaggio SQL, vedere Confronto tra le estensioni del linguaggio di SQL Server e il CLR SQL.
Per ulteriori informazioni sulla sicurezza con il framework di estensibilità, vedere Architettura di sicurezza per il framework di estensibilità nei servizi di Machine Learning di SQL Server.
Contenuto correlato
- Installare l'estensione del linguaggio Java di SQL Server su Windows
- Installare l'estensione del linguaggio Java di SQL Server su Linux
- Che cos'è l'estensione del linguaggio C#?
- Installare l'estensione del linguaggio .NET di SQL Server su Windows
- Installare un runtime personalizzato di Python per SQL Server
- Installare un runtime personalizzato di R per SQL Server
- Microsoft Extensibility SDK per Java per SQL Server
- Microsoft Extensibility SDK per C# per SQL Server