What is SQL Server Language Extensions (preview)?

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2019)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Language Extensions is a feature of SQL Server used for executing external code. In SQL Server 2019 CTP 3.0, Java is supported. The relational data can be used in the external code using the extensibility framework.

What you can do with Language Extensions

Language Extensions uses the extensibility framework for executing external code. Code execution is isolated from the core engine processes, but fully integrated with SQL Server query execution. This means that you can execute code where the data resides, eliminating the need to pull data across the network.

Language extensions uses the system stored procedure sp_execute_external_script as the interface for executing pre-compiled Java code.

This provides multiple advantages:

  • Data security. Bringing external language execution closer to the source of data avoids wasteful or insecure data movement.
  • Speed. Databases are optimized for set-based operations. Recent innovations in databases such as in-memory tables make summaries and aggregations lightning, and are a perfect complement to data science.
  • Ease of deployment and integration. SQL Server is the central point of operations for many other data management tasks and applications. By using data that resides in the database, you ensure that the data used by Java is consistent and up-to-date.

How to get started

Step 1: Install the software

Step 2: Configure a development tool

Developers typically write code on their own laptop or development workstation. With language extensions in SQL Server, there is no need to change this process. After installation is complete, you can run Java code on SQL Server.

Step 3: Write your first code

Execute Java code from within T-SQL script:

Next steps