Was ist die C#-Spracherweiterung?

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

Die 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 Transact-SQL (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. Linux wird nicht unterstützt.

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

  1. Installieren der .NET-Spracherweiterung für SQL Server unter Windows

  2. Entwicklungstools konfigurieren.

  3. Schreiben Sie Ihren ersten C#-Code. Verwenden Sie das folgende Tutorial als Ausgangspunkt. Tutorial: Suchen nach einer Zeichenfolge mithilfe regulärer Ausdrücke (RegEx) in C#