Informazioni sull'estensione del linguaggio C#

Si applica a: SQL Server 2019 (15.x) e versioni successive

L'estensione del linguaggio .NET C# open source è una funzionalità inclusa nelle estensioni del linguaggio SQL Server che è possibile usare per eseguire codice C# in SQL Server. È possibile passare una tabella SQL Server esistente a un'applicazione C# come dataframe, eseguire operazioni in C# usando librerie avanzate e recuperare un set di risultati. Questa estensione del linguaggio C# consente di riutilizzare codice C# esistente, calcoli, logica o librerie complete che forniscono funzionalità che non è possibile ottenere in T-SQL.

Il linguaggio C# esterno viene definito tramite CREATE EXTERNAL LANGUAGE. La stored procedure di sistema sp_execute_external_script viene usata come interfaccia per l'esecuzione del codice C#.

Nota

L'estensione del linguaggio C# è compatibile con SQL Server 2019 (15.x) CU 3 e versioni successive. Attualmente integra .NET Core solo in SQL Server per Windows.

Operazione

L'estensione del linguaggio C# usa il framework di estendibilità per l'esecuzione di codice C# 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 C# nell'origine dati, in modo da evitare di eseguire il pull dei dati attraverso la rete.

È inoltre possibile effettuare operazioni di pulizia dei dati, query rapide sui dati e qualsiasi altra elaborazione in C# possibile tramite un dataframe. Incorporando il codice C# all'interno di stored procedure, è possibile eseguire il push della logica di business nel database per ottenere prestazioni migliori. Ciò consente di evitare lo spostamento e la latenza dei dati non necessari, perché i dati non devono essere recuperati da SQL Server e spostati nel livello app per eseguire l'elaborazione della logica di business.

Operazioni preliminari

L'estensione del linguaggio C# non è installata con SQL Server. Per informazioni su come installare e configurare l'estensione C#, vedere Estensione del linguaggio CSharp di .NET Core. Nell'esercitazione Esempio Regex viene illustrata la creazione di un programma C# che usa un'espressione regolare per controllare il testo in una tabella SQL.