SQL Server 2017 is not that new anymore, but it is still the fastest database everywhere you need it. But, as with each new release of SQL Server, most people are hesitating to start migrating to this new version for a variety of reasons. Let’s have a look at why we are convinced that it’s worth considering to take that step today.
One of the big changes in SQL Server 2017 is that Microsoft will no longer release Service Packs like they did in the past. It was a bit of a tradition that most companies wouldn’t start deploying a new SQL Server version until Service Pack 1 was released. From now on, only Cumulative Updates will be released for SQL Server. In the first year on a monthly base, and during the 4 remaining years of the SQL Server lifecycle, CUs will be released every quarter. At the moment 4 CU releases have been released since the launch of SQ Server 2017. The main reason why companies are hesitative to upgrade is that they don’t have a lot of confidence in the testing of CUs. Where SPs are considered to be much more profoundly tested, the general feeling is that CUs aren’t. Microsoft assured their customers that the CU testing will be as thorough as the SP testing :-)
But, since Microsoft created the Cloud First strategy, we know that there is a much larger test base. Each SQL Server bug that is found in Azure (and solved) will now be added in the CUs. So we are much more confident that the quality of a CU is a lot higher.
Furthermore, several SQL Server components – like SQL Server Management Studio and SQL Reporting Services – are now detached from the SQL Server setup, and receive separate updates.
Microsoft continues its efforts in improving the query execution process. In SQL Server 2016 the Query Store was introduced. SQL Server 2017 continues on this path, and adds new performance optimization features.
Automatic tuning provides insight into potential query performance problems, recommends solutions, and can automatically fix identified problems.
Automatic plan correction, which is built on the Query Store in SQL Server 2016. You have the possibility to either execute a command proposed by the query tuning advisor that will force to use the correct execution plan (this is by the way the default setting). Or, you can even opt to let the system take these decisions by itself and force the use of the best possible execution plan.
This might not be the solution for mission critical systems, but for environments without a (permanent)DBA, it can be a big advantage as it brings a continues solution to plan regression.
This feature was already available in Azure since 2016 and has been tested very thoroughly, there has been plenty of time to fix issues that surfaced. This is again a good example of Microsoft’s Cloud First strategy.
But wait, there is more.
Next to Automatic plan correction, another feature called Adaptive Query Processing was introduced.
Adaptive query processing
The biggest attraction of SQL Server 2017 is probably the availability of SQL Server under Linux, and in the Docker engine. Supported Linux environments are Suse Enterprise, Redhat Enterprise and Ubuntu. You can now run a fully functional SQL Server Database engine under Linux at a competitive price. Actually, you don’t even have to be on Windows anymore to run and work with SQL Server, plenty of client tools are available for other platforms. MSSQL-CLI, Visual Studio code are all available on Linux, MacOS and Windows. Even the new Powershell Core, provides access to Powershell on multiple platforms.
Here are some other highlights next to the 3 important features mentioned above: