Was sind SQL Server-Spracherweiterungen?

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

Spracherweiterungen sind ein Feature von SQL Server, das zum Ausführen von externem Code verwendet wird. Die relationalen Daten können über das Erweiterbarkeitsframework im externen Code verwendet werden. SQL Server 2019 (15.x) und spätere Versionen unterstützen die Java-, C#-, Python- und R-Runtime.

Hinweis

Informationen zum Ausführen von Python oder R in SQL Server finden Sie in der Dokumentation zu Machine Learning Services mit Python und R. Für SQL Server 2019 (15.x) und neueren Versionen können Sie eine benutzerdefinierte Python- und R-Runtime mit Sprachenerweiterungen verwenden. Weitere Informationen finden Sie unter Installieren einer benutzerdefinierten Python-Runtime für SQL Server und Installieren einer benutzerdefinierten R-Runtime für SQL Server.

Verwendungsmöglichkeiten von Spracherweiterungen

Spracherweiterungen verwenden das Erweiterbarkeitsframework zum Ausführen von externem 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 Code an der Quelle der Daten ausführen und so die Notwendigkeit umgehen, Daten im Netzwerk zu übertragen.

Externe Sprachen werden mit CREATE EXTERNAL LANGUAGE definiert. Die gespeicherte Systemprozedur sp_execute_external_script dient als Schnittstelle für die Ausführung des Codes.

Spracherweiterungen bieten eine Reihe von Vorteilen:

  • Datensicherheit. Indem die externe Sprache näher an der Datenquelle ausgeführt wird, werden unsichere Datenverschiebungen vermieden.

  • Geschwindigkeit. Datenbanken sind für setbasierte Vorgänge optimiert.

  • Einfache Bereitstellung und Integration. SQL Server ist der Dreh- und Angelpunkt für viele andere Aufgaben und Anwendungen zur Datenverwaltung. Durch Nutzung von in der Datenbank enthaltenen Daten stellen Sie sicher, dass die von der Sprachenerweiterung verwendeten Daten konsistent und aktuell sind.

Mit der nativen Common Language Runtime-Integration können Sie einige der Funktionen von SQL. Server mit .NET-Sprachen implementieren. Eine Erörterung der Unterschiede zwischen der SQL CLR und den SQL-Spracherweiterungen finden Sie unter Vergleichen der SQL Server-Spracherweiterungen mit der SQL CLR.

Weitere Informationen zu Sicherheit mit dem Erweiterbarkeitsframework finden Sie unter Sicherheitsarchitektur für das Erweiterbarkeitsframework in SQL Server Machine Learning Services.