Cosa sono le estensioni del linguaggio di SQL Server?

Si applica a: sìSQL Server 2019 (15.x)

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 sono supportati i runtime Java, C#, Python e R.

Nota

Per l'esecuzione di Python o R in SQL Server, vedere la documentazione di Machine Learning Services. Con SQL Server 2019 e versioni successive, è possibile usare un runtime personalizzato di Python e R con le estensioni del linguaggio. Per altre informazioni, vedere come installare il runtime personalizzato di Python e il runtime personalizzato di R.

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.

Il linguaggio SQL Common Language Runtime (CLR) consente di implementare alcune delle funzionalità di SQL Server con i linguaggi .NET. Per una descrizione delle differenze tra SQL CLR e le estensioni del linguaggio SQL, vedere Confrontare SQL Server estensioni del linguaggio SQL CLR.

Passaggi successivi