Java is one of the most important open source projects in the world today. Born nearly 25 years ago around the same time as Microsoft SQL Server, it has since grown to a community of millions of developers around the world and by many reports is the most popular programming language in the world.

SQL Server has a long history with Java and that relationship has been deepening even more lately. It all started more than 20 years ago with the early versions of the Java database connectivity (JDBC) driver to enable Java applications to connect to SQL Server.

In SQL Server 2016, we introduced the first version of PolyBase, the data virtualization solution enabling customers to query data in Cloudera or Hortonworks from SQL Server using T-SQL that relies heavily on Java for the interop layer.

Now, in Big Data Clusters for SQL Server 2019, with the inclusion of Apache Spark, HDFS, and other big data components in the box, SQL Server and Java have become even more intertwined.

Historically, SQL Server has allowed customers to choose to bring their own Java runtime, typically OpenJDK or Oracle’s Java SE. Neither option was ideal though. With OpenJDK, there wasn’t a support vendor if you needed some help. With Oracle’s Java SE, you would be in a situation where you were asking Oracle to help you with Java in Microsoft SQL Server.

In 2018, Oracle surprised the Java community with a change in the support and licensing model for Java. You can review their FAQ about the change to learn more. The bottom line is that free support for Oracle Java SE is phasing out. Oracle wants you to pay for your Java support. Fair enough, but Microsoft wants to give our customers a better alternative.

In September 2018, Microsoft announced a new partnership with Azul Systems, a leading Java open source contributor and distributor. This partnership allows for all Azure customers to use Azul’s Zulu for Azure – Enterprise distribution of Java for free with support jointly provided by Microsoft and Azul. That’s right – supported for free.

Today, we are announcing that we have extended that partnership to cover SQL Server. Starting in the SQL Server 2019 community technology preview (CTP) 3.2 that was released today, we are including Azul System’s Zulu Embedded right out of the box for all scenarios where Java is used in SQL Server – in PolyBase, Apache Spark, Java extensibility, and more. There is no additional cost beyond what you pay for SQL Server.

Microsoft will provide frontline support so you have one point of contact for SQL Server support and will loop in Azul on the backend as needed. Azul Systems will deliver periodic updates including security patches to Microsoft to be included in SQL Server cumulative updates at least every quarter.

“We have been delivering certified builds of OpenJDK to Microsoft for more than five years. As we did already with Azure, with today’s announcement we extend our partnership by standing with Microsoft to deliver fully-supported builds of Zulu Embedded to the community of SQL Server-based Java developers, at no additional cost to them, for both development and production use.” – Scott Sellers, Azul Systems President and CEO

Of course, we respect the customer’s right to choose a different Java flavor. In each case where Java is used in SQL Server, there will be a documented way to bring your own flavor of Java instead of using the default Zulu Embedded and use your own support provider of choice, even if it’s Oracle.

It comes down to Microsoft’s mission statement to “Empower every person and every organization on the planet to achieve more” and that includes all the millions of Java developers out there that want to build on SQL Server. Let’s go!

More resources