Was sind SQL Server-Spracherweiterungen?

Gilt für:yes SQL Server 2019 (15.x)

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 unterstützt 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. Für SQL Server 2019 und höher können Sie eine benutzerdefinierte Python- und R-Runtime mit Sprachenerweiterungen verwenden. Weitere Informationen finden Sie in den Installationsanweisungen unter Benutzerdefinierte Python-Runtime und Benutzerdefinierte R-Runtime.

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 zentrale Betriebspunkt für viele andere Datenverwaltungsaufgaben und -anwendungen. 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 (CLR) von SQL 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.

Nächste Schritte