Was ist die C#-Spracherweiterung?

Gilt für: SQL Server 2019 (15.x) und höhere Versionen

Die Open-Source-.NET C#-Spracherweiterung ist ein Feature der SQL Server-Spracherweiterungen, das zum Ausführen von C#-Code in SQL Server verwendet werden kann. Sie können eine vorhandene SQL Server-Tabelle als Datenrahmen an eine C#-Anwendung übergeben, Vorgänge in C# mithilfe umfangreicher Bibliotheken ausführen und ein Resultset abrufen. Mit dieser C#-Spracherweiterung können Sie vorhandenen C#-Code, Berechnungen, Logik oder umfangreiche Bibliotheken wiederverwenden, die Funktionen bereitstellen, die T-SQL nicht bietet.

Die externe Sprache C# wird mit CREATE EXTERNAL LANGUAGE definiert. Die gespeicherte Systemprozedur sp_execute_external_script dient als Schnittstelle für die Ausführung des C#-Codes.

Hinweis

Die C#-Spracherweiterung ist mit SQL Server 2019 (15.x) CU3 oder höher kompatibel. Derzeit wird .NET Core nur in SQL Server Windows integriert.

Ihre Möglichkeiten

Die C#-Spracherweiterung nutzt das Erweiterbarkeitsframework zum Ausführen von externem C#-Code. Die Codeausführung ist von den Prozessen der Kern-Engine isoliert, aber vollständig in die Ausführung von SQL Server-Abfragen integriert. Sie können C#-Code an der Quelle der Daten ausführen und so die Notwendigkeit umgehen, Daten im Netzwerk zu übertragen.

Sie können Daten bereinigen, schnelle Datenabfragen oder andere Verarbeitungen in C# ausführen, die über einen Datenrahmen erfolgen können. Indem Sie C#-Code in gespeicherte Prozeduren einbetten, können Sie die Geschäftslogik zur Leistungssteigerung in die Datenbank pushen. Damit werden unnötige Datenbewegungen und Latenzen vermieden, da Daten nicht aus SQL Server abgerufen und zur Verarbeitung der Geschäftslogik in die App-Ebene verschoben werden müssen.

Erste Schritte

Die C#-Spracherweiterung wird nicht mit SQL Server installiert. Informationen zum Installieren und Konfigurieren der C#-Erweiterung finden Sie unter NET Core CSharp Language Extension (.NET Core-CSharp-Spracherweiterung). Im Tutorial Regex Sample (Regex-Beispiel) erfahren Sie, wie Sie ein C#-Programm erstellen, das einen regulären Ausdruck zum Überprüfen von Text in einer SQL-Tabelle verwendet.