Was sind SQL Server-Spracherweiterungen?What is SQL Server Language Extensions?

Gilt für: JaSQL Server NeinAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Spracherweiterungen sind ein Feature von SQL Server, das zum Ausführen von externem Code verwendet wird.Language Extensions is a feature of SQL Server used for executing external code. Die relationalen Daten können über das Erweiterbarkeitsframework im externen Code verwendet werden.The relational data can be used in the external code using the extensibility framework.

In SQL Server 2019 wird Java unterstützt.In SQL Server 2019, Java is supported. Die Java-Standardruntime ist Zulu Open JRE.The default Java runtime is Zulu Open JRE. Sie können auch eine andere Java-JRE oder ein anderes SDK verwenden.You can also use another Java JRE or SDK.

Verwendungsmöglichkeiten von SpracherweiterungenWhat you can do with Language Extensions

Spracherweiterungen verwenden das Erweiterbarkeitsframework zum Ausführen von externem Code.Language Extensions uses the extensibility framework for executing external code. Die Codeausführung ist von den Prozessen der Kern-Engine isoliert, aber vollständig in die Ausführung von SQL Server-Abfragen integriert.Code execution is isolated from the core engine processes, but fully integrated with SQL Server query execution. Mit den Erweiterungen können Sie Code dort ausführen, wo sich die Daten befinden – damit entfällt die Notwendigkeit, Daten über das Netzwerk abzurufen.They let you execute code where the data resides, eliminating the need to pull data across the network.

Externe Sprachen werden mit CREATE EXTERNAL LANGUAGE definiert.External languages are defined with CREATE EXTERNAL LANGUAGE. Die gespeicherte Systemprozedur sp_execute_external_script dient als Schnittstelle für die Ausführung des Codes.The system stored procedure sp_execute_external_script is used as the interface for executing the code.

Spracherweiterungen bieten eine Reihe von Vorteilen:Language Extensions provides multiple advantages:

  • Datensicherheit.Data security. Indem die externe Sprache näher an der Datenquelle ausgeführt wird, werden ressourcenintensive oder unsichere Datenverschiebungen vermieden.Bringing external language execution closer to the source of data avoids wasteful or insecure data movement.
  • Geschwindigkeit.Speed. Datenbanken sind für setbasierte Vorgänge optimiert.Databases are optimized for set-based operations. Dank neuer Innovationen bei Datenbanken wie z. B. arbeitsspeicherinternen Tabellen lassen sich Zusammenfassungen und Aggregationen im Handumdrehen ausführen – die perfekte Ergänzung für Data Science-Szenarien.Recent innovations in databases such as in-memory tables make summaries and aggregations lightning, and are a perfect complement to data science.
  • Einfache Bereitstellung und Integration.Ease of deployment and integration. SQL ServerSQL Server ist der Dreh- und Angelpunkt für viele andere Aufgaben und Anwendungen zur Datenverwaltung.is the central point of operations for many other data management tasks and applications. Durch Nutzung von Daten, die sich bereits in der Datenbank befinden, stellen Sie sicher, dass die von Java verwendeten Daten konsistent und aktuell sind.By using data that resides in the database, you ensure that the data used by Java is consistent and up-to-date.

EinstiegHow to get started

Schritt 1: Installieren der SoftwareStep 1: Install the software

Schritt 2: Konfigurieren eines EntwicklungstoolsStep 2: Configure a development tool

Entwickler schreiben Code in der Regel auf ihrem eigenen Laptop oder auf einer Arbeitsstation für die Entwicklung.Developers typically write code on their own laptop or development workstation. Dank der Spracherweiterungen in SQL Server besteht keine Notwendigkeit, dieses Procedere zu ändern.With language extensions in SQL Server, there is no need to change this process. Wenn die Installation abgeschlossen ist, können Sie Java-Code in SQL Server ausführen.After installation is complete, you can run Java code on SQL Server.

Schritt 3: Schreiben von CodeStep 3: Write your first code

Führen Sie Java-Code über ein T-SQL-Skript aus:Execute Java code from within T-SQL script:

EinschränkungenLimitations

  • Die Anzahl von Werten in den Eingabe- und Ausgabepuffern darf MAX_INT (2^31-1) nicht überschreiten, da dies die maximale Anzahl von Elementen ist, die in einem Array in Java zugeordnet werden können.The number of values in input and output buffers cannot exceed MAX_INT (2^31-1) since that is the maximum number of elements that can be allocated in an array in Java.

Nächste SchritteNext steps