|SQL Server 2017 GA For Linux And Windows|
|Written by Kay Ewbank|
|Wednesday, 04 October 2017|
SQL Server 2017 is now generally available, just 15 months after the release of SQL Server 2016. The new version is available for Windows, Linux and Docker.
The fact that SQL Server is now available on Linux is undoubtedly what catches the attention first, and a tacit admission from Microsoft of just how important Linux is, even in enterprise computing.
SQL Server 2017 supports Red Hat Enterprise Linux 7.3, SUSE Linux Enterprise Server 12, Ubuntu and Docker, as well, of course, as Windows.
Under the covers, SQL Server runs on Linux courtesy of a compatibility layer called SQLPAL, the Platform Abstraction Layer. This evolved from a technology called Drawbridge that was developed by Microsoft Research. Drawbridge is a form of virtualization for applications based on two core technologies: a picoprocess, which is a process-based isolation container with a minimal kernel API surface; and a library OS, which is a version of Windows enlightened to run efficiently within a picoprocess. The abstraction layer makes the Windows libraries needed by SQL Server run on Linux. The communality between the Windows and Linux versions is increased by the fact that SQL Server's own SOS (SQL Operating System) that it uses for memory and thread management has been incorporated into SQLPAL, meaning SOS can call native Linux APIs directly.
While the core RDBMS elements are all available, some aspects are missing from the Linux version. In particular, replication support, Reporting Services and Analysis Services are all absent, as are most of the management tools and Machine Learning Services for R and Python.
Some of the higher-end elements that link into big data are also not available on Linux, so there's no Stretch Database for dynamically stretching warm and cold transactional data from SQL Server to Microsoft Azure.
Aside from the Linux support, there are some more general improvements to SQL Server:
The addition of a graph engine to SQL Server means you can carry out graph data processing to model many-to-many relationships. A graph database is a collection of nodes and edges, where a node represents an entity, and an edge represents a relationship between the two nodes that it connects. The graph relationships in SQL Server 2017 are integrated into Transact-SQL. The Transact-SQL extensions mean you can create node or edge tables. Since nodes and edges are stored as tables, all the operations that are supported on relational tables are supported on node or edge table. A new keyword, Match, has been added to support pattern matching and multi-hop navigation through the graph.
Adaptive Query Processing is another addition. This is designed to improve query performance where the initial plan chosen by the query optimizer is sub-optimal because some estimate such as the number of rows that would run through the query was incorrect. Adaptive query processing avoids the need for additional tuning from the database administrators. It can adjust batch mode memory grants, create batch mode adaptive joins, and set up interleaved execution of queries.
Machine Learning Services (so long as you're using the Windows version) are another area to have been improved. Machine Learning Services was called R Services in SQL Server 2016. It has been extended to support Python, and can be used to run R or Python scripts in SQL Server, or install the standalone Microsoft Machine Learning Server to deploy and consume R and Python models that don't require SQL Server.
While the Linux support is more startling, the Container support will for developers be potentially more useful. It means you can spin up SQL Server containers, use them, then dispose of them. SQL Server supports Docker Enterprise Edition, Kubernetes and OpenShift container platforms.
Other improvements include the ability to pause and resume online index rebuilds, so you can schedule an index rebuild to happen when demand is low, and if the process doesn't complete due to lack of time, resume it at the next suitable time.
The final news from the release is that the first cumulative update for SQL Server 2017 will happen two or three weeks after GA.
or email your comment to: firstname.lastname@example.org