Che cos'è l'estensione del linguaggio C#?

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

L'estensione del linguaggio C# è una funzionalità inclusa nelle estensioni del linguaggio di SQL Server che è possibile usare per eseguire codice C# all'interno di 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 riusare codice C#, calcoli, logica o librerie complete già esistenti, che forniscono funzionalità non ottenibili in Transact-SQL (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 o versioni successive. Attualmente .NET Core è integrato solo in SQL Server per Windows. Linux non è supportato.

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. In questo modo, si eviteranno spostamenti di dati e latenze inutili, in quanto i dati non dovranno essere recuperati da SQL Server né spostati nel livello app per eseguire l'elaborazione della logica di business.

Operazioni preliminari

  1. Installare l'estensione del linguaggio .NET di SQL Server su Windows.

  2. Configurare strumenti di sviluppo.

  3. Introduzione alla scrittura di codice C#. Usare la seguente esercitazione come punto di partenza. Esercitazione: Cercare una stringa usando espressioni regolari (regex) in C#.