Book Image

SQL Server 2017 Developer???s Guide

Book Image

SQL Server 2017 Developer???s Guide

Overview of this book

Microsoft SQL Server 2017 is a milestone in Microsoft's data platform timeline, as it brings in the power of R and Python for machine learning and containerization-based deployment on Windows and Linux. This book prepares you for advanced topics by starting with a quick introduction to SQL Server 2017's new features. Then, it introduces you to enhancements in the Transact-SQL language and new database engine capabilities before switching to a different technology: JSON support. You will take a look at the security enhancements and temporal tables. Furthermore, the book focuses on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. Toward the end of the book, you'll be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. You'll also learn to integrate Python code into SQL Server and graph database implementations as well as the deployment options on Linux and SQL Server in containers for development and testing. By the end of this book, you will be armed to design efficient, high-performance database applications without any hassle.
Table of Contents (25 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Free Chapter
1
Introduction to SQL Server 2017
Index

What is missing in SQL Server 2017?


SQL Server 2016 is the first SQL Server version that has some built-in support for temporal data. However, even in SQL Server version 2017, the support is still quite basic. SQL Server 2016 and 2017 support system-versioned tables only. You have seen at the beginning of this chapter that application versioned tables, and of course bitemporal tables, add much more complexity to temporal problems. Unfortunately, in order to deal with application validity times, you need to develop your own solution, including your own implementation of all constraints, on which you need to enforce data integrity. In addition, you need to deal with the optimization of temporal queries by yourself as well.

In SQL Server 2017, you can define the retention period for historical rows. Therefore, you do not have to do the history data cleanup by yourself, like you needed to do in SQL Server 2016. Nevertheless, it would be very useful to also have the ability to define the absolute...