News

SQL Server 2017 Hits General Availability

Just 15 months after releasing SQL Server 2016, Microsoft on Monday launched its follow-up, SQL Server 2017, during the Ignite conference in Orlando, Fla.

The licensing model and costs for the new release are exactly the same as they were for SQL Server 2016. One marked difference, however, is that SQL Server 2017 represents the first time SQL Server is available on the Linux platform. The supported Linux distributions include Red Hat Enterprise Linux (RHEL), SuSE Enterprise Linux and Ubuntu. SQL Server 2017 can also be run in Docker containers, which is an option many development shops may consider for rapid deployment of development databases.

SQL Server on Linux uses the same code as SQL Server 2017 on Windows, with the exception of a platform abstraction layer that manages OS-specific calls.

"SQL Server on Linux is an engineering feat. It's the same quality, secure, high performance, rich database engine that we've all come to know on Windows, yet it is completely native to Linux," said Travis Wright, principal program manager at Microsoft. "The database engine binaries you install on Windows and Linux are literally the same exact files down to the byte."

One of the key goals with SQL Server on Linux is more accessibility for developers who are used to working on other database platforms. In addition to the database engine and tools, SQL Server Integration Services is available on Linux. Licensing SQL Server on Linux uses the same model as Windows. However, Microsoft is engaging in a special discounted subscription model in conjunction with Red Hat to offer OS and RDBMS licensing on a lease model.

New SQL Server 2017 Features
SQL Server 2017 introduces a variety of new features, including:

Automatic Tuning: Microsoft has built intelligence into a set of self-tuning features in SQL Server 2017. Microsoft has learned a lot from supporting Azure SQL Database and identifying customer performance problems. Running a database service that services millions of databases allows for deeper insight into how customers use the product and where their headaches are. Microsoft has taken that knowledge and combined it with the Query Store, a feature introduced in SQL Server 2016 that tracks query execution plans and runtime statistics. This allows the database engine to identify queries that have regressed in performance and changed execution plans (the path the engine takes to get the query's data). If the engine determines that a change in plan has occurred and the query has regressed in performance, the engine will revert to a previous plan.

"If it is 3 a.m. in the morning, Automatic Plan Correction helps mitigate performance issues due to plan regression scenarios without manual intervention," said Joe Sack, principle program manager at Microsoft. "Then when you come in that next morning you can look at see what happened and work on root cause analysis."

There a number of other optimizations in space in SQL Server 2017, focused on making problematic query operations go faster.

Graph Database: Microsoft has introduced a graph engine into SQL Server with this release. Graph databases are commonly used to track relationships or hierarchies, an area where relational databases have struggled in terms of structure and performance. Graph databases are implemented via nodes (or vertices) and edges (or relationships). While there have been a number of small graph database projects, many have not supported the SQL language and integration with other systems. By bringing graph into SQL Server 2017, users can take advantage of native SQL, along with the new match operator to perform graph queries.

Resumable Online Index Rebuild: Indexes get fragmented as updates and deletes happen, and need to be reorganized and rebuilt periodically. Performing these operations are very IO-intensive and are commonly run during maintenance windows. However, on larger systems, some operations may run beyond the window and have to be aborted or, more frequently, simply aren't run. Resumable index rebuild allows users to schedule fixed windows for maintenance operations (for example, allocating three hours a night to index maintenance), or simply pause and resume them manually. This feature will change the ways DBAs perform database maintenance.  

Everything Else: Some of the other features included in this release are improved performance for backups, more enhancements to the In-Memory OLTP feature and integration of the popular Power Query tool with SQL Server Analysis Services. Microsoft also released a very interesting enhancement to its advanced analytics features by adding a predict operator to the T-SQL programming area. This can be a very fast way to perform analysis on a preexisting R or Python model.

Notably, both SQL Server Management Studio and SQL Server Reporting Services are now separate installs from the database engine and other components. Management Studio has a different release cycle from SQL Server and is updated monthly.

About the Author

Joseph D'Antoni is an Architect and SQL Server MVP with over a decade of experience working in both Fortune 500 and smaller firms. He is currently Principal Consultant for Denny Cherry and Associates Consulting. He holds a BS in Computer Information Systems from Louisiana Tech University and an MBA from North Carolina State University. Joey is the co-president of the Philadelphia SQL Server Users Group . He is a frequent speaker at PASS Summit, TechEd, Code Camps, and SQLSaturday events.