In-Depth
Microsoft Announces SQL Server 2017 Launch
The latest SQL Server comes packed with support for Linux, automatic tuning and other enhancements that will enhance and simplify the use of the database platform.
- By Joey D'Antoni
- 09/25/2017
Today at the Microsoft Ignite conference, Microsoft announced that SQL Server 2017 will be generally available on Oct. 2. This comes only 15 months or so after launching SQL Server 2016. Microsoft's rapid development means more frequent releases, which delivers more value to customers who pay for Software Assurance (SA). It also means that more features are delivered more frequently, which aligns to their Azure SQL Database platform, which is usually updated on a monthly basis. To answer the most important question, the licensing model and costs are exactly the same as they were for SQL Server 2016.
SQL Embraces Linux
The big news with the release of SQL Server 2017, is that it's the first time SQL Server is available on the Linux platform. Microsoft releasing one of its major software platforms on Linux is big, and represents Microsoft's shift towards being a more open source-oriented company. The Linux distributions supported include RedHat Enterprise Linux, SuSE Enterprise Linux and Ubuntu. You can also run SQL Server 2017 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." I can attest that even features like Active Directory authentication, backup, and restore all work just the same as on Windows.
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, and I would be surprised if Microsoft didn't port the other components of the SQL Server platform to Linux eventually. 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.
Other Major Features Arriving with SQL Server 2017
So, you've heard a lot about SQL Server 2017 on Linux, but what else is there? SQL Server 2017 introduces a variety of new features that will be attractive to you whether you are a database administrator, a developer, or an analyst.
Automatic Tuning: While many database vendors have claimed to have self -tuning databases in the past, 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. They have taken that knowledge and combined it with the Query Store, a feature introduced in SQL Server 2016, which 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: One of my favorite features is the introduction of a graph engine into SQL Server. Graph databases are commonly used to track relationships or hierarchies, a place where relational databases have struggled in terms of structure and performance. Graph databases are implemented via nodes (or vertices) and edges (or relationships). For example, you might say John is friends with Jane, and Jane is friends with Becky. 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: As someone who has been a database administrator for way too long, this feature has tremendous appeal to me. 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 you to schedule fixed window for your 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 pre-existing R or Python model.
As you install SQL Server 2017, it is important to note that 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 two decades of experience working in both Fortune 500 and smaller firms. He holds a BS in Computer Information Systems from Louisiana Tech University and an MBA from North Carolina State University. He is a Microsoft Data Platform MVP and VMware vExpert. He is a frequent speaker at PASS Summit, Ignite, Code Camps, and SQL Saturday events around the world.